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

📄 osddrawt100.lst

📁 宏芯T118B 配 MTV512, 驱动PVI 9"TFT屏的源程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
                      if(wFreq < VLMAX)
                              k=BAND_VL;
                      else if(wFreq > VHMAX)
                              k=BAND_UHF;
                      else
                              k=BAND_VH;
              
                      OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)2<<5)+19);
              
                      twdWr_Burst_A(OSD_RAM_DL);
                      switch(k){
                      case BAND_VL:
C51 COMPILER V7.07   OSDDRAWT100                                                           10/27/2005 16:13:34 PAGE 18  

                              twdWr_Burst_D(BLANK);
                              twdWr_Burst_D(COL_TITLE);  
                              twdWr_Burst_D('V');
                              twdWr_Burst_D(COL_TITLE);
                              twdWr_Burst_D('L');
                              twdWr_Burst_D(COL_TITLE);
                              break;
                      case BAND_VH:
                              twdWr_Burst_D(BLANK);
                              twdWr_Burst_D(COL_TITLE);
                              twdWr_Burst_D('V');
                              twdWr_Burst_D(COL_TITLE);
                              twdWr_Burst_D('H');
                              twdWr_Burst_D(COL_TITLE);
                              break;
                      case BAND_UHF:
                              twdWr_Burst_D('U');
                              twdWr_Burst_D(COL_TITLE);
                              twdWr_Burst_D('H');
                              twdWr_Burst_D(COL_TITLE);
                              twdWr_Burst_D('F');
                              twdWr_Burst_D(COL_TITLE);
                              break;
                      default:        break;
                      }
                      twdWr_Burst_P();
              }
              
              void OSDTVShowChannel(uCHAR x, uCHAR y, uCHAR cColor, uCHAR cChannel)
              {
                      if(cChannel>=100)
                      {
                              OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y<<5)+x);    //9
                              twdWr_Burst_A(OSD_RAM_DL);
                              OSDNumConvert(cChannel/100);
                              twdWr_Burst_D(cColor );
                              OSDNumConvert((cChannel/10)%10);
                              twdWr_Burst_D(cColor );
                              OSDNumConvert(cChannel%10);
                              twdWr_Burst_D(cColor );
                              twdWr_Burst_P();
                      }
                      else if(cChannel>=10)
                      {
                              OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y<<5)+x);
                              twdWr_Burst_A(OSD_RAM_DL);
                              twdWr_Burst_D(BLANK);
                              twdWr_Burst_D(cColor);
                              OSDNumConvert(cChannel/10);
                              twdWr_Burst_D(cColor );
                              OSDNumConvert(cChannel%10);
                              twdWr_Burst_D(cColor );
                              twdWr_Burst_P();
                      }
                      else
                      {
                              OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y<<5)+x);
                              twdWr_Burst_A(OSD_RAM_DL);
                              twdWr_Burst_D(BLANK);
                              twdWr_Burst_D(cColor);
                              twdWr_Burst_D(BLANK);
                              twdWr_Burst_D(cColor);
C51 COMPILER V7.07   OSDDRAWT100                                                           10/27/2005 16:13:34 PAGE 19  

                              OSDNumConvert(cChannel);
                              twdWr_Burst_D(cColor );
                              twdWr_Burst_P();
                      }
              }
              #endif
1114          
1115          
1116          void OSDNumConvert(uCHAR cNum)
1117          {
1118   1              switch(cNum){
1119   2              case 9: twdWr_Burst_D('9');     break;
1120   2              case 8: twdWr_Burst_D('8');     break;
1121   2              case 7: twdWr_Burst_D('7');     break;
1122   2              case 6: twdWr_Burst_D('6');     break;
1123   2              case 5: twdWr_Burst_D('5');     break;
1124   2              case 4: twdWr_Burst_D('4');     break;
1125   2              case 3: twdWr_Burst_D('3');     break;
1126   2              case 2: twdWr_Burst_D('2');     break;
1127   2              case 1: twdWr_Burst_D('1');     break;
1128   2              case 0: twdWr_Burst_D('0');     break;
1129   2              default: break;
1130   2              }
1131   1      }
1132          
1133          //Ruby add 2004-06-08
1134          extern uCHAR idata m_cScaleratio;
1135          void OSDShowRatio(void)
1136          {
1137   1      uCHAR i;
1138   1              for(i=0;i<8;i++)
1139   1              {
1140   2                      OSDCleanLine(0,i,0,30);
1141   2              OSDSetLineAttribute(i,0x80);
1142   2              }
1143   1              OSDPosition(RIGHT_TOP);
1144   1          switch(m_cScaleratio)
1145   1          {
1146   2                      case ScaleFULL:
1147   2                                      OSDShowLine(iScaleFULL,16,1,COL_GAUGE,OSD_LENGTH);
1148   2                                      break;
1149   2                      case Scale16_9: 
1150   2                                      OSDShowLine(iScale16_9,16,1,COL_GAUGE,OSD_LENGTH);
1151   2                                      break;
1152   2      
1153   2                      case Scale4_3:  
1154   2                                      OSDShowLine(iScale4_3,16,1,COL_GAUGE,OSD_LENGTH);
1155   2                      break;
1156   2      #ifdef FIX_OUTPUT_TIMING             
                              case ZOOM_1:    
                                              OSDShowLine(iZoom_1,16,1,COL_GAUGE,OSD_LENGTH);
                              break;
                              case ZOOM_2:    
                                              OSDShowLine(iZoom_2,16,1,COL_GAUGE,OSD_LENGTH);
                              break;
                              case ZOOM_3:    
                                              OSDShowLine(iZoom_3,16,1,COL_GAUGE,OSD_LENGTH);
                              break;
                              case ZOOM_4:    
                                              OSDShowLine(iZoom_4,16,1,COL_GAUGE,OSD_LENGTH);
                              break;
                              case ZOOM_5:    
C51 COMPILER V7.07   OSDDRAWT100                                                           10/27/2005 16:13:34 PAGE 20  

                                              OSDShowLine(iZoom_5,16,1,COL_GAUGE,OSD_LENGTH);
                              break;
                              case ZOOM_6:    
                                              OSDShowLine(iZoom_6,16,1,COL_GAUGE,OSD_LENGTH);
                              break;
                              case ZOOM_7:    
                                              OSDShowLine(iZoom_1,16,1,COL_GAUGE,OSD_LENGTH);
                              break;                
              #endif
1179   2      /*#ifdef T515
1180   2                      case Scale1_1:  
1181   2                                      OSDShowLine(iScale1_1,16,1,COL_GAUGE,OSD_LENGTH);
1182   2                                      break;
1183   2      #endif*/
1184   2              }
1185   1              OSDEnable();
1186   1      }
1187          
1188          
1189          void OSDShowSource(void)
1190          {
1191   1      uCHAR i;
1192   1              for(i=0;i<8;i++)
1193   1              {
1194   2                      OSDCleanLine(0,i,0,30);
1195   2              OSDSetLineAttribute(i,0x80);
1196   2              }
1197   1              OSDPosition(RIGHT_TOP);
1198   1              switch(m_cSource)
1199   1              {
1200   2      #ifdef TV
                              case isrcTV:
                                              OSDShowLine(iCVBS_TV,16,1,COL_GAUGE,OSD_LENGTH);
                                              break;
              #else
1205   2                      case isrcCVIDEO1:       
1206   2                                      OSDShowLine(iCVBS_1,16,1,COL_GAUGE,OSD_LENGTH);
1207   2                                      break;
1208   2      #endif
1209   2                      case isrcCVIDEO2:       
1210   2                                      OSDShowLine(iCVBS_2,16,1,COL_GAUGE,OSD_LENGTH);
1211   2                                      break;
1212   2                      case isrcCVIDEO3:       
1213   2                                      OSDShowLine(iCVBS_3,16,1,COL_GAUGE,OSD_LENGTH);
1214   2                                      break;
1215   2      #ifdef NEW_BOARD
1216   2                      case isrcSVIDE1:        
1217   2                                      OSDShowLine(iSVideo_1,16,1,COL_GAUGE,OSD_LENGTH);
1218   2                                      break;
1219   2      #else
                              case isrcCVIDEO4:       
                                              OSDShowLine(iCVBS_4,16,1,COL_GAUGE,OSD_LENGTH);
                                              break;
              #endif
1224   2                      case isrcSVIDEO:        
1225   2                                      OSDShowLine(iSVideo,16,1,COL_GAUGE,OSD_LENGTH);
1226   2                                      break;
1227   2      #ifdef component
                              case isrcCOMPONENT:
                                      OSDShowLine(iCOMPONENT,16,1,COL_GAUGE,26);
                              break;
              #endif
C51 COMPILER V7.07   OSDDRAWT100                                                           10/27/2005 16:13:34 PAGE 21  

1232   2      
1233   2      #ifdef T515   
              
                      case isrc_T515_CVIDEO1:         
                                              OSDShowLine(iCVBS_5,16,1,COL_GAUGE,OSD_LENGTH);
                                              break;
                      case isrc_T515_CVIDEO2:         
                                              OSDShowLine(iCVBS_6,16,1,COL_GAUGE,OSD_LENGTH); 
                                              break;
                      case isrc_T515_SVIDEO:          
                                              //OSDShowLine(iSVideo_2,16,1,COL_GAUGE,OSD_LENGTH);     
                                              OSDShowLine(iSVideo_2,16,1,COL_GAUGE,26);
                                              break;
              
              #endif
1247   2      
1248   2                                      
1249   2      //add source OSD here!!
1250   2      
1251   2              }
1252   1              OSDEnable();
1253   1      }
1254          extern uCHAR idata m_cStandard;
1255          void OSDShowNTSC_PAL(void)
1256          {
1257   1              if(m_cStandard==S_PAL)OSDShowLine(iPAL,16,1,COL_GAUGE,OSD_LENGTH);
1258   1              else if(m_cStandard==S_NTSC) OSDShowLine(iNTSC,16,1,COL_GAUGE,OSD_LENGTH);
1259   1              else if(m_cStandard==S_SECAM) OSDShowLine(iSECAM,16,1,COL_GAUGE,OSD_LENGTH); 
1260   1              OSDEnable();
1261   1      }
1262          
1263          void OSDMoveCursor(uCHAR cStart, uCHAR cEnd)
1264          {
1265   1              OSDCfgWr(0x10,0x80|m_cItem);
1266   1              OSDCfgWr(0x11,m_cItem);
1267   1              OSDCfgWr(0x12,0x40|(cStart&0x1F));
1268   1              OSDCfgWr(0x13,cEnd&0x1F);
1269   1      }
1270          
1271          
1272          void OSDPosition(uCHAR cPos)
1273          {
1274   1      #ifdef _640_220 // PVI_9_VGA
                      if(cPos==RIGHT_TOP)
                      {
                              OSDCfgWr(CHAR_DLY_0,0x00);        //V[10:8] bit 6-4; H[10:8] bit2-0  23 12
                              OSDCfgWr(CHAR_DLY_1,0xEA);    //H[7:0]                           80 80
                              OSDCfgWr(CHAR_DLY_2,0x00);    //v[7:0]                           64 30
                      }
                      if(cPos==CENTER)
                      {
                              OSDCfgWr(CHAR_DLY_0,0x00);        //V[10:8] bit 6-4; H[10:8] bit2-0  23 12
                              OSDCfgWr(CHAR_DLY_1,0xEA);    //H[7:0]                           80 80
                              OSDCfgWr(CHAR_DLY_2,0x00);    //v[7:0]                           64 30
                      }
                      else if(cPos==LEFT_BOTTOM)//not define yet!
                      {
                              OSDCfgWr(CHAR_DLY_0,0x12);              //V[10:8] bit 6-4; H[10:8] bit2-0
                              OSDCfgWr(CHAR_DLY_1,0x00);    //H[7:0]
                              OSDCfgWr(CHAR_DLY_2,0x60);    //v[7:0]  //00
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -