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

📄 vbi_parser.lst

📁 terawin的t103 LCD驱动程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
                                                      if ( iptByte1 < 0x60 && cc_char.Line == 0)
                                                              cc_char.Line = 5*FONT_HEIGHT;
                                                      else if ( iptByte1 >= 0x60 && cc_char.Line == 0)
                                                              cc_char.Line = 6*FONT_HEIGHT;
                                              }
                                              else if ( cc_char.preByte == 0x16)
                                              {
                                                      if ( iptByte1 < 0x60 && cc_char.Line == 0)
                                                              cc_char.Line = 7*FONT_HEIGHT;
                                                      else if ( iptByte1 >= 0x60 && cc_char.Line == 0)
                                                              cc_char.Line = 8*FONT_HEIGHT;
                                              }
                                              else if ( cc_char.preByte == 0x17)
                                              {
                                                      if ( iptByte1 < 0x60 && cc_char.Line == 0)
                                                              cc_char.Line = 9*FONT_HEIGHT;
                                                      else if ( iptByte1 >= 0x60 && cc_char.Line == 0)
                                                              cc_char.Line = 10*FONT_HEIGHT;
                                              }
                                              else if ( cc_char.preByte == 0x10)
                                              {
C51 COMPILER V7.50   VBI_PARSER                                                            10/30/2006 16:14:44 PAGE 5   

                                                      if ( cc_char.Line == 0)
                                                              cc_char.Line = 11*FONT_HEIGHT;
                                              }
                                              else if ( cc_char.preByte == 0x13)
                                              {
                                                      if ( iptByte1 < 0x60 && cc_char.Line == 0)
                                                              cc_char.Line = 12*FONT_HEIGHT;
                                                      else if ( iptByte1 >= 0x60 && cc_char.Line == 0)
                                                              cc_char.Line = 13*FONT_HEIGHT;
                                              }
                                              else if ( cc_char.preByte == 0x14)
                                              {
                                                      if ( iptByte1 < 0x60 && cc_char.Line == 0)
                                                              cc_char.Line = 14*FONT_HEIGHT;
                                                      else if ( iptByte1 >= 0x60 && cc_char.Line == 0)
                                                              cc_char.Line = 15*FONT_HEIGHT;
                                              }
              
                                      }
                                      else
                                              return FALSE;
              
                              }
              
                      }
                      else
                      {
                              if ( ( iptByte1 == 0x11 && iptByte2 < 0x40 && iptByte2 >= 0x30 ) 
                                || ( iptByte1 == 0x19 && iptByte2 < 0x40 && iptByte2 >= 0x30 ) )
                              {         
                                      iptByte1 = 0x0F + (iptByte2 - 0x30 + 1 );
                                      OSDShowCCData(iptByte1,cc_char.Column,cc_char.Row,cc_char.TextAttr); 
                                      cc_char.Column++;
                              }
                              // text attributes
                              else if ( ( iptByte1 == 0x11 && iptByte2 < 0x30 && iptByte2 >= 0x20 ) 
                                         || ( iptByte1 == 0x19 && iptByte2 < 0x30 && iptByte2 >= 0x20 ) )
                              {
                                      if ( iptByte1 >= 0x20 && iptByte1 < 0x30 )
                                              cc_char.TextAttr = iptByte1 - 0x20 + 1;
              
                              }
                              // Command codes
                              else if ( iptByte1 == 0x14 || iptByte1 == 0x1C )
                              {
                                      switch ( iptByte2 )
                                      {
                                              case 0x20: // pop-on mode
                                                      break;
                                              case 0x21: //BS
                                                      cc_char.Column--;
                                                      break;
                                              case 0x22:
                                                      break;
                                              case 0x23:
                                                      break;
                                              case 0x24:
                                                      break;
                                              case 0x25: // 2-rows roll-up mode
                                                      cc_char.Line = 1*FONT_HEIGHT;
                                                      break;
                                              case 0x26: // 3-rows roll-up mode
C51 COMPILER V7.50   VBI_PARSER                                                            10/30/2006 16:14:44 PAGE 6   

                                                      cc_char.Line = 2*FONT_HEIGHT;
                                                      break;
                                              case 0x27: // 4-rows roll-up mode
              //                                      cc_char.Line = 12*FONT_HEIGHT;
              //                                      OSDCfgWr(CHAR_DLY_2,cc_char.Line);
                                                      break;
                                              case 0x28:
                                                      break;
                                              case 0x29: // paint-on mode
                                                      break;
                                              case 0x2A:
                                                      break;
                                              case 0x2B: // text mode
                                                      break;
                                              case 0x2C:
                                                      cc_char.Line = 12*FONT_HEIGHT;
              
                                                      cc_char.Column = 0;
                                                      cc_char.Row = 1;
                                                      break;
                                              case 0x2D: //CR
                                                      if ( cc_char.Line > 0 )
                                                      {
                                                              cc_char.Line -= FONT_HEIGHT;
                                                              OSDCfgWr(CHAR_DLY_2,cc_char.Line);  //v[7:0]    //00
                                                      }
              
                                                      cc_char.Column = 0;
                                                      if ( cc_char.Row < OSD_LINE_NUM )
                                                              cc_char.Row ++;
              
                                                      break;
                                              case 0x2E:
                                                      break;
                                              case 0x2F:
                                                      break;
                                      }
                              }// Command codes
                              else if ( iptByte1 == 0x17 || iptByte1 == 0x1F )
                              {
                                      switch ( iptByte2 )
                                      {
                                              case 0x21:
                                                      cc_char.Column += 1;    //TO1
                                                      break;
                                              case 0x22:
                                                      cc_char.Column += 2;    //TO2
                                                      break;
                                              case 0x23:
                                                      cc_char.Column += 3;    //TO3
                                                      break;
                                       }
                              }
              
                              // PAC
                              else if ( iptByte1 <= 0x17 && iptByte2 >= 0x40 
                                         || iptByte1 <= 0x1F && iptByte2 >= 0x60 )
                              {
                                      if ( iptByte2 < 0x60 )
                                              cc_char.TextAttr = iptByte2 - 0x40 + 1;
                                      else
                                              cc_char.TextAttr = iptByte2 - 0x60 + 1;
C51 COMPILER V7.50   VBI_PARSER                                                            10/30/2006 16:14:44 PAGE 7   

              
              
                                      if ( iptByte1 == 0x11 )
                                      {
                                              if ( iptByte2 < 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 1*FONT_HEIGHT;
                                              else if ( iptByte2 >= 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 2*FONT_HEIGHT;
                                      }
                                      else if ( iptByte1 == 0x12)
                                      {
                                              if ( iptByte2 < 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 3*FONT_HEIGHT;
                                              else if ( iptByte2 >= 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 4*FONT_HEIGHT;
                                      }
                                      else if ( iptByte1 == 0x15)
                                      {
                                              if ( iptByte2 < 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 5*FONT_HEIGHT;
                                              else if ( iptByte2 >= 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 6*FONT_HEIGHT;
                                      }
                                      else if ( iptByte1 == 0x16)
                                      {
                                              if ( iptByte2 < 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 7*FONT_HEIGHT;
                                              else if ( iptByte2 >= 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 8*FONT_HEIGHT;
                                      }
                                      else if ( iptByte1 == 0x17)
                                      {
                                              if ( iptByte2 < 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 9*FONT_HEIGHT;
                                              else if ( iptByte2 >= 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 10*FONT_HEIGHT;
                                      }
                                      else if ( iptByte1 == 0x10)
                                      {
                                              if ( cc_char.Line == 0)
                                                      cc_char.Line = 11*FONT_HEIGHT;
                                      }
                                      else if ( iptByte1 == 0x13)
                                      {
                                              if ( iptByte2 < 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 12*FONT_HEIGHT;
                                              else if ( iptByte2 >= 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 13*FONT_HEIGHT;
                                      }
                                      else if ( iptByte1 == 0x14)
                                      {
                                              if ( iptByte2 < 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 14*FONT_HEIGHT;
                                              else if ( iptByte2 >= 0x60 && cc_char.Line == 0)
                                                      cc_char.Line = 15*FONT_HEIGHT;
                                      }
                              }
                              else
                                      return FALSE;
              
                              cc_char.preByte = 0;
              
C51 COMPILER V7.50   VBI_PARSER                                                            10/30/2006 16:14:44 PAGE 8   

              
                      }
              
              }
              #endif


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