osdctrl.lst

来自「采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序」· LST 代码 · 共 1,185 行 · 第 1/5 页

LST
1,185
字号
 891   1              {
 892   2                      PortDataOut((MainMenuCols+1)*4+3,UPDATE_CODE,SubIcon1[0],3);
 893   2                      PortDataOut((MainMenuCols+1)*5+3,UPDATE_CODE,SubIcon1[1],3);
 894   2                      PortDataOut((MainMenuCols+1)*7+3,UPDATE_CODE,SubIcon2[0],3);
 895   2                      PortDataOut((MainMenuCols+1)*8+3,UPDATE_CODE,SubIcon2[1],3);
 896   2              }
 897   1              else if ((cursor >= COLORTEMP_WARM) && (cursor <= COLORTEMP_USER))
 898   1              {
 899   2                      PortDataOut((MainMenuCols+1)*4+12,UPDATE_CODE,warmData[eepData.language],6);
 900   2                      PortDataOut((MainMenuCols+1)*6+12,UPDATE_CODE,coolData[eepData.language],6);
 901   2                      PortDataOut((MainMenuCols+1)*8+9,UPDATE_CODE,userData[eepData.language],sizeof(userData[0]) / sizeof(cha
             -r));
C51 COMPILER V6.23a  OSDCTRL                                                               09/10/2004 16:09:03 PAGE 16  

 902   2              }
 903   1              else if(cursor == USER_R || cursor == OSDSETUP_HPOS)
 904   1              {
 905   2                      PortDataOut((MainMenuCols+1)*3+3,UPDATE_CODE,SubIcon1[0],3);
 906   2                      PortDataOut((MainMenuCols+1)*4+3,UPDATE_CODE,SubIcon1[1],3);
 907   2                      PortDataOut((MainMenuCols+1)*5+3,UPDATE_CODE,SubIcon2[0],3);
 908   2                      PortDataOut((MainMenuCols+1)*6+3,UPDATE_CODE,SubIcon2[1],3);
 909   2                      PortDataOut((MainMenuCols+1)*7+3,UPDATE_CODE,SubIcon3[0],3);
 910   2                      PortDataOut((MainMenuCols+1)*8+3,UPDATE_CODE,SubIcon3[1],3);
 911   2              }
 912   1              else if(cursor == AUTOCONFIG_YES || cursor == RESET_YES)
 913   1              {
 914   2                      PortDataOut((MainMenuCols+1)*5+13,UPDATE_CODE,yesData[eepData.language],3);
 915   2                      PortDataOut((MainMenuCols+1)*7+13,UPDATE_CODE,noData[eepData.language],4);
 916   2              }
 917   1              else if(cursor >= LANGUAGE_ENGLISH && cursor <= LANGUAGE_SCHINESE)
 918   1              {
 919   2                      PortDataOut((MainMenuCols+1)*4+5,UPDATE_CODE,englishData[0],8);
 920   2                      PortDataOut((MainMenuCols+1)*4+17,UPDATE_CODE,englishData[1],8);
 921   2                      PortDataOut((MainMenuCols+1)*6+5,UPDATE_CODE,englishData[2],8);
 922   2                      PortDataOut((MainMenuCols+1)*6+17,UPDATE_CODE,englishData[3],8);
 923   2                      PortDataOut((MainMenuCols+1)*8+5,UPDATE_CODE,englishData[4],8);
 924   2                      PortDataOut((MainMenuCols+1)*8+17,UPDATE_CODE,englishData[5],8);
 925   2                      
 926   2      /*              buff[20] = 0;
 927   2                      PortDataOut((MainMenuCols+1)*(4+buff[20]*2)+5,UPDATE_CODE,englishData[0],8);
 928   2                      PortDataOut((MainMenuCols+1)*(4+buff[20]*2)+17,UPDATE_CODE,englishData[0]+1,8);*/
 929   2              }
 930   1              else if(cursor == MAIN_INFORMATION)
 931   1                      informationMenu();
 932   1      
 933   1              else if (cursor == HOT_CONTRAST)
 934   1              {
 935   2                      PortDataOut((MainMenuCols+1)*5+3,UPDATE_CODE,SubIcon1[0],3);
 936   2                      PortDataOut((MainMenuCols+1)*6+3,UPDATE_CODE,SubIcon1[1],3);
 937   2                      setScrollBarAttr(1);
 938   2                      AdjustFlag ^= 1;
 939   2                      adjContrast(0,SHOW);
 940   2              }
 941   1              else if (cursor == HOT_BRIGHTNESS)
 942   1              {
 943   2                      PortDataOut((MainMenuCols+1)*5+3,UPDATE_CODE,SubIcon2[0],3);
 944   2                      PortDataOut((MainMenuCols+1)*6+3,UPDATE_CODE,SubIcon2[1],3);
 945   2                      setScrollBarAttr(1);
 946   2                      AdjustFlag ^= 1;
 947   2                      adjBrightness(0,SHOW);
 948   2              }
 949   1      #if WITH_AUDIO  
 950   1              else if (cursor == HOT_VOLUME)
 951   1                      adjVolume(0,SHOW);  
 952   1              else if (cursor == MAIN_EXIT)   
 953   1               {
 954   2                      PortDataOut((MainMenuCols+1)*6+3,UPDATE_CODE,VolumeIcon[0],3);
 955   2                      PortDataOut((MainMenuCols+1)*7+3,UPDATE_CODE,VolumeIcon[1],3);          
 956   2                      setScrollBarAttr(1);
 957   2                      
 958   2                      adjVolume(0,SHOW);              
 959   2               }      
 960   1      #endif
 961   1      
 962   1              enableOSD();
 963   1      }
C51 COMPILER V6.23a  OSDCTRL                                                               09/10/2004 16:09:03 PAGE 17  

 964          
 965          void subSelect(char select)
 966          {
 967   1              if(cursor >= LUMINANCE_CONTRAST && cursor <= IMAGEPOSITION_V)
 968   1              {
 969   2                      PortDataOut((MainMenuCols+1)*((cursor & 0x0F)*3+4)+3, UPDATE_ATTR, mainIconAttrData[select],3);
 970   2                      PortDataOut((MainMenuCols+1)*((cursor & 0x0F)*3+5)+3, UPDATE_ATTR, mainIconAttrData[select],3);
 971   2              }
 972   1              else if(cursor >=  COLORTEMP_WARM && cursor <= COLORTEMP_USER)
 973   1              {
 974   2                      PortDataOut((MainMenuCols+1)*((cursor-COLORTEMP_WARM)*2+4)+8, UPDATE_ATTR, colortempAttrData[select],siz
             -eof(colortempAttrData[0]) / sizeof(char));
 975   2              }
 976   1              else if((cursor >= USER_R && cursor <= USER_B) || (cursor >= OSDSETUP_HPOS && cursor <= OSDSETUP_TIME))
 977   1              {
 978   2                      PortDataOut((MainMenuCols+1)*((cursor & 0x0F)-1)+3, UPDATE_ATTR, mainIconAttrData[select],3);
 979   2                      PortDataOut((MainMenuCols+1)*((cursor & 0x0F))+3, UPDATE_ATTR, mainIconAttrData[select],3);
 980   2              }
 981   1              else if((cursor >= AUTOCONFIG_YES && cursor <= AUTOCONFIG_NO) || (cursor >= RESET_YES && cursor <= RESET_
             -NO))
 982   1              {
 983   2                      PortDataOut((MainMenuCols+1)*((cursor & 0x0F)*2+5)+10, UPDATE_ATTR, colortempAttrData[select],8);
 984   2              }
 985   1              else if(cursor >= LANGUAGE_ENGLISH && cursor <= LANGUAGE_SCHINESE)
 986   1              {
 987   2                      if((cursor & 0x01) == 0)
 988   2                              PortDataOut((MainMenuCols+1)*(cursor-LANGUAGE_ENGLISH+4)+4, UPDATE_ATTR, colortempAttrData[select],10);
 989   2                      else if((cursor & 0x01) == 1)
 990   2                              PortDataOut((MainMenuCols+1)*(cursor-LANGUAGE_DEUTSCH+4)+16, UPDATE_ATTR, colortempAttrData[select],10)
             -;
 991   2              }
 992   1      #if WITH_AUDIO  
 993   1              else if(cursor == MAIN_EXIT)
 994   1              {
 995   2                      PortDataOut((MainMenuCols+1)*6+3, UPDATE_ATTR, mainIconAttrData[select],3);
 996   2                      PortDataOut((MainMenuCols+1)*7+3, UPDATE_ATTR, mainIconAttrData[select],3);
 997   2              }        
 998   1      #endif  
 999   1      }
1000          
1001          
1002          /***********************************
1003          *   OSD position adjustment        *
1004          ************************************/
1005          void adjSharpness(char delta,bit show)
1006          {
1007   1          int val;
1008   1              unsigned char temp;
1009   1      
1010   1          val = eepData.sharpness + delta;
1011   1          
1012   1          if (val >= MIN_sharpness && val <= MAX_sharpness)
1013   1          {
1014   2              eepData.sharpness = val;
1015   2              
1016   2                      temp = RegByteIn(0x59) & 0x0F;
1017   2                      temp |= (eepData.sharpness<<4 & 0xF0);
1018   2                      RegByteOut(0x59, temp);                 //coefficient R
1019   2                      temp=eepData.sharpness<<4|eepData.sharpness;
1020   2                      RegByteOut(0x5A, temp);                 //coefficient G
1021   2      
1022   2              if (show)
C51 COMPILER V6.23a  OSDCTRL                                                               09/10/2004 16:09:03 PAGE 18  

1023   2              {
1024   3                              PortDataOut((MainMenuCols+1)*13+9, UPDATE_CODE, BarUpData, 12);
1025   3                              PortDataOut((MainMenuCols+1)*14+8, UPDATE_CODE, DnData, 1);
1026   3                              PortDataOut((MainMenuCols+1)*14+22, UPDATE_CODE, UpData, 1);
1027   3                              PortDataOut((MainMenuCols+1)*15+9, UPDATE_CODE, BarDnData, 12);
1028   3                              DisplayScrollBar((unsigned int)MAX_sharpness, val);
1029   3                              PortDataOut((MainMenuCols+1)*14+9, UPDATE_CODE, buff, 12); 
1030   3                  converInt(val*100/MAX_sharpness);
1031   3                      PortDataOut((MainMenuCols+1)*14+24, UPDATE_CODE, buff, 3);
1032   3      
1033   3              }
1034   2              eepDataOut(EEPDATASTART+(&eepData.sharpness-&eepData),(unsigned char *)&eepData.sharpness, 1);       
             -         
1035   2          }
1036   1      }
1037          
1038          
1039          
1040          /***********************************
1041          *   OSD position adjustment        *
1042          ************************************/
1043          void adjOSDPosH(char delta,bit show)
1044          {
1045   1              ival = eepData.osdPosH + delta*5;
1046   1              if (eepData.osdPosH > MAX_osdPosH)      eepData.osdPosH = MAX_osdPosH;  
1047   1              if (eepData.osdPosH < MIN_osdPosH)      eepData.osdPosH = MIN_osdPosH;  
1048   1              
1049   1              if (ival >= MIN_osdPosH && ival <= MAX_osdPosH)
1050   1              {
1051   2                      eepData.osdPosH = ival;
1052   2      
1053   2                      ival = (ival-MIN_osdPosH) * (MAX_OSD_HPOS-MIN_OSD_HPOS);
1054   2                      ival /= (MAX_osdPosH-MIN_osdPosH);
1055   2                      ival += MIN_OSD_HPOS;
1056   2                      OSDRegByteOut(OSDNEWFRAME_H_START, ival);
1057   2      
1058   2                      /* Trigger the double buffer */
1059   2                      buff[0] = OSDRegByteIn(OSDNEWFRAME_V_HEIGHT);
1060   2                      OSDRegByteOut(OSDNEWFRAME_V_HEIGHT, buff[0]);
1061   2                            
1062   2                      if (show)
1063   2                      {
1064   3                              PortDataOut((MainMenuCols+1)*3+8, UPDATE_CODE, hposData[eepData.language], sizeof(hposData[0]) / sizeof
             -(char));
1065   3                              DisplayScrollBar((unsigned int)MAX_osdPosH, (unsigned int)eepData.osdPosH);
1066   3                              PortDataOut((MainMenuCols+1)*4+7, UPDATE_CODE, buff, 16); 
1067   3                              if(AdjustFlag)
1068   3      //                              PortDataOut((MainMenuCols+1)*4+7,UPDATE_ATTR,ScrollBarAttrData[0], 16);
1069   3                                      SetOSDData((MainMenuCols+1)*4+7, UPDATE_ATTR, 0x36, 16);
1070   3                              else
1071   3      //                              PortDataOut((MainMenuCols+1)*4+7,UPDATE_ATTR,ScrollBarAttrData[2], 16);
1072   3                                      SetOSDData((MainMenuCols+1)*4+7, UPDATE_ATTR, 0xD6, 16);
1073   3      
1074   3                              converInt((int) eepData.osdPosH);
1075   3                              PortDataOut((MainMenuCols+1)*4+23, UPDATE_CODE, buff, 3);
1076   3                      }
1077   2                      eepDataOut(EEPDATASTART+(&eepData.osdPosH-&eepData),(unsigned char *)&eepData.osdPosH, 1);              
1078   2              }
1079   1      }
1080          
1081          
1082          /***********************************
C51 COMPILER V6.23a  OSDCTRL                                                               09/10/2004 16:09:03 PAGE 19  

1083          *   OSD position adjustment        *
1084          ************************************/
1085          void adjOSDPosV(char delta,bit show)
1086          {
1087   1              long lval;
1088   1              
1089   1              ival1 = eepData.osdPosV + delta*5;
1090   1              if (eepData.osdPosV > MAX_osdPosV)      eepData.osdPosV = MAX_osdPosV;  
1091   1              if (eepData.osdPosV < MIN_osdPosV)      eepData.osdPosV = MIN_osdPosV;          
1092   1              
1093   1              if (ival1 >= MIN_osdPosV && ival1 <= MAX_osdPosV)
1094   1              {
1095   2                      eepData.osdPosV = ival1;
1096   2              
1097   2                      /* adjust OSD position */
1098   2                      ival = MAX_osdPosV  - ival1; // invert value
1099   2                      lval = (long)ival * (MAX_OSD_VPOS - MIN_OSD_VPOS);
1100   2                      ival = lval /(MAX_osdPosV - MIN_osdPosV);
1101   2                      ival += MIN_OSD_VPOS;
1102   2                      OSDRegByteOut(OSDNEWFRAME_V_START_LOW, (unsigned char) ival);
1103   2                      OSDRegByteOut(OSDNEWFRAME_V_START_HIGH, (unsigned char) ((ival >> 8) & 0x07));
1104   2                      /* Trigger the double buffer */
1105   2                      buff[0] = OSDRegByteIn(OSDNEWFRAME_V_HEIGHT);
1106   2                      OSDRegByteOut(OSDNEWFRAME_V_HEIGHT, buff[0]);
1107   2                      if (show)
1108   2                      {
1109   3                              PortDataOut((MainMenuCols+1)*5+8, UPDATE_CODE, vposData[eepData.language], sizeof(vposData[0]) / sizeof
             -(char));
1110   3                              DisplayScrollBar((unsigned int)MAX_osdPosV, (unsigned int)eepData.osdPosV);
1111   3                              PortDataOut((MainMenuCols+1)*6+7, UPDATE_CODE, buff, 16);
1112  

⌨️ 快捷键说明

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