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

📄 osd2_initial.lst

📁 T103的开发程序 能兼容很多屏 可根据需要修改定义
💻 LST
📖 第 1 页 / 共 2 页
字号:
 201   1              FontsStart = font4BP0_000;
 202   1              OSD2Load4BPFont();
 203   1      #endif //ICON4BP
 204   1              IC_WritByte(TWIC_P0,OSD2_CFG_INDEX,0x09);
 205   1              for(m_wBuff[0] =0;m_wBuff[0]<18;m_wBuff[0]++)
 206   1              {                                                                                                               
 207   2                      IC_WritByte(TWIC_P0,OSD2_CFG_DATA,0);
 208   2              }               
 209   1      
 210   1      //Fill pattern
 211   1      /*      OSD2CfgWr(0x30,0x4B);
 212   1              OSD2CfgWr(0x31,0x80);
 213   1              OSD2CfgWr(0x32,6);
 214   1              OSD2CfgWr(0x33,12);
 215   1              OSD2CfgWr(0x35,00);
 216   1              OSD2CfgWr(0x38,0x0C);
 217   1              OSD2CfgWr(0x3C,0xE7);
 218   1              OSD2CfgWr(0x3E,0xE9);
 219   1              for(m_wBuff[1]=0; m_wBuff[1]<(FontHeight); m_wBuff[1]++)
 220   1              {                               
 221   1                      m_wBuff[2] = m_wBuff[1]*6;
 222   1                      OSD2CfgWr(0x37,font4BP0_Pat[m_wBuff[2] ]);
 223   1                      OSD2CfgWr(0x37,font4BP0_Pat[m_wBuff[2]+1]);
 224   1                      OSD2CfgWr(0x37,font4BP0_Pat[m_wBuff[2]+2]);
 225   1                      OSD2CfgWr(0x37,font4BP0_Pat[m_wBuff[2]+3]);
 226   1                      OSD2CfgWr(0x37,font4BP0_Pat[m_wBuff[2]+4]);
 227   1                      OSD2CfgWr(0x37,font4BP0_Pat[m_wBuff[2]+5]);
 228   1              }
 229   1      */
 230   1      
 231   1      }
 232          void OSD2LoadColor()
 233          {
 234   1              
 235   1              //~ Load Main Color Look Up Table.~//
 236   1      #ifdef ICON4BP
 237   1              OSD2CfgWr(OSD_COLOR_LUT_ADR_PORT,0x00);
 238   1              IC_WritByte(TWIC_P0,OSD2_CFG_INDEX,0x09);
 239   1      #ifdef T128
C51 COMPILER V8.08   OSD2_INITIAL                                                          11/23/2007 00:57:19 PAGE 5   

                      for(m_wBuff[0] =0;m_wBuff[0]<COLORTBLNUM;m_wBuff[0]++)
                      {
                              IC_WritByte(TWIC_P0,OSD2_CFG_DATA,Icon4BPColorTable[m_wBuff[0]]);
                      }
              #else
 245   1              ICWr_Burst_A(OSD2_CFG_DATA);
 246   1              for(m_wBuff[0] =0;m_wBuff[0]<COLORTBLNUM;m_wBuff[0]++)
 247   1              {
 248   2                      ICWr_Burst_D(Icon4BPColorTable[m_wBuff[0]]);
 249   2              }
 250   1              ICWr_Burst_P();
 251   1      #endif
 252   1              OSD2CfgWr(OSD_COLOR_LUT_ADR_PORT,0x80);
 253   1              IC_WritByte(TWIC_P0,OSD2_CFG_INDEX,0x09);
 254   1              for(m_wBuff[0]=0;m_wBuff[0]<18;m_wBuff[0]++)
 255   1              {
 256   2                      IC_WritByte(TWIC_P0,OSD2_CFG_DATA,0);
 257   2                      IC_WritByte(TWIC_P0,OSD2_CFG_DATA,0);
 258   2                      IC_WritByte(TWIC_P0,OSD2_CFG_DATA,0);
 259   2              }
 260   1      #endif //ICON4BP
 261   1      #ifdef ICON2BP
                      //~Load Char2BP Color Remap LUT.~//
                      OSD2CfgWr(OSD_COLOR_LUT_ADR_PORT,0x80);
                      IC_WritByte(TWIC_P0,OSD2_CFG_INDEX,0x09);
                      for(m_wBuff[0]=0;m_wBuff[0]<16;m_wBuff[0]++)
                      {
                              IC_WritByte(TWIC_P0,OSD2_CFG_DATA,IndexColorTable[m_wBuff[0]*3+2]);
                              IC_WritByte(TWIC_P0,OSD2_CFG_DATA,IndexColorTable[m_wBuff[0]*3+1]);
                              IC_WritByte(TWIC_P0,OSD2_CFG_DATA,IndexColorTable[m_wBuff[0]*3]);
                      }
              #endif //ICON2BP
 272   1        
 273   1      }
 274          #ifdef ICON2BP  
              void OSD2Load2BPFont(void)
              {
                      OSD2SetRamAddr(Font2BPDataStrAdr);              
                      if(FontWidth==OSD2FONTWIDTH12)
                      {
                              for(m_wBuff[1]=0;m_wBuff[1]<Font2BPNum;m_wBuff[1]++)
                              {
                                      for(m_wBuff[0]=0; m_wBuff[0]<(FontHeight); m_wBuff[0]+=2)
                                      {                          
                                              m_wBuff[2] = (m_wBuff[1]* FontHeight+m_wBuff[0])*3;
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2]+1]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2]]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2]+3]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2]+2]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2]+5]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2]+4]);
                                      }
                              }
                      }                       
              }                                
              #endif //ICON2BP 
 296          
 297          #ifdef ICON4BP
 298          void OSD2Load4BPFont(void)
 299          {
 300   1              OSD2SetRamAddr(OSD2Font4BPDataStrAdr);          
 301   1              if(OSD2FontWidth==OSD2FONTWIDTH12)
C51 COMPILER V8.08   OSD2_INITIAL                                                          11/23/2007 00:57:19 PAGE 6   

 302   1              {
 303   2      #ifdef T128
                              for(m_wBuff[0]=0;m_wBuff[0]<OSD2Font4BPNum;m_wBuff[0]++)
                              {
                                      for(m_wBuff[1]=0; m_wBuff[1]<(OSD2FontHeight); m_wBuff[1]++)
                                      {
              
                                              m_wBuff[2] = (m_wBuff[0]* OSD2FontHeight+m_wBuff[1])*6;
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +1]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2]]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +3]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +2]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +5]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +4]);       
                                      }
                              }
              #else 
 319   2                      ICWr_Burst_A(OSD2_RAM_DL);
 320   2                      for(m_wBuff[0]=0;m_wBuff[0]<OSD2Font4BPNum;m_wBuff[0]++)
 321   2                      {
 322   3                              for(m_wBuff[1]=0; m_wBuff[1]<(OSD2FontHeight); m_wBuff[1]++)
 323   3                              {
 324   4      
 325   4                                      m_wBuff[2] = (m_wBuff[0]* OSD2FontHeight+m_wBuff[1])*6;
 326   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +1]);
 327   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2]]);
 328   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +3]);
 329   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +2]);
 330   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +5]);
 331   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +4]);          
 332   4                              }
 333   3                      }
 334   2                      ICWr_Burst_P();
 335   2      #endif
 336   2              }
 337   1              else if(OSD2FontWidth==OSD2FONTWIDTH16)
 338   1              {
 339   2      #ifdef T128
                              for(m_wBuff[0]=0;m_wBuff[0]<OSD2Font4BPNum;m_wBuff[0]++)
                              {
                                      for(m_wBuff[1]=0; m_wBuff[1]<(OSD2FontHeight); m_wBuff[1]++)
                                      {
              
                                              m_wBuff[2] = (m_wBuff[0]* OSD2FontHeight+m_wBuff[1])*8;
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +1]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2]]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +3]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +2]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +5]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +4]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +7]);
                                              IC_WritByte(TWIC_P0,OSD2_RAM_DL,FontsStart[m_wBuff[2] +6]);
                                      }
                              }
              #else
 357   2                      ICWr_Burst_A(OSD2_RAM_DL);
 358   2                      for(m_wBuff[0]=0;m_wBuff[0]<OSD2Font4BPNum;m_wBuff[0]++)
 359   2                      {
 360   3                              for(m_wBuff[1]=0; m_wBuff[1]<(OSD2FontHeight); m_wBuff[1]++)
 361   3                              {
 362   4      
 363   4                                      m_wBuff[2] = (m_wBuff[0]* OSD2FontHeight+m_wBuff[1])*8;
C51 COMPILER V8.08   OSD2_INITIAL                                                          11/23/2007 00:57:19 PAGE 7   

 364   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +1]);
 365   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2]]);
 366   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +3]);
 367   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +2]);
 368   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +5]);
 369   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +4]);
 370   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +7]);
 371   4                                      ICWr_Burst_D(FontsStart[m_wBuff[2] +6]);
 372   4                              }
 373   3                      }
 374   2                      ICWr_Burst_P();
 375   2      
 376   2      #endif
 377   2              }       
 378   1              
 379   1      }
 380          
 381          #endif //ICON4BP
 382          /*void OSD2PatternFillInit(uCHAR code * pPattern,uCHAR ColorDepth, uCHAR Height, uCHAR Width)
 383          {
 384                  OSD2CfgWr(OSD_PT_CTRL,ColorDepth);
 385                  OSD2CfgWr(OSD_PT_LUT_BASEADD,0x80);
 386                  OSD2CfgWr(OSD_PT_HSIZE,Height);
 387                  OSD2CfgWr(OSD_PT_VSIZE,Width);
 388                  OSD2CfgWr(OSD_PT_ALPBL_CTRL,00);
 389          
 390                  m_wBuff[2] = (Height*Width)/((ColorDepth&0x0C)>>2);
 391                  OSD2CfgWr(OSD_PT_CTRL,(ColorDepth|0x01));
 392                  for(m_wBuff[1]=0; m_wBuff[1]<m_wBuff[2]; m_wBuff[1]++)
 393                  {       
 394                          OSD2CfgWr(OSD_PT_RAM_WRITE_PORT,pPattern[m_wBuff[1]]);                  
 395                  }
 396          } */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1031    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----       2
   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 + -