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

📄 userpref.lst

📁 Maria2 CarTV 20060707 Tony
💻 LST
📖 第 1 页 / 共 2 页
字号:
              #define CS_ERR  _BIT0
              #define VER_ERR  _BIT1
              
              BYTE CheckFlashDataBlockError(BOOL Block)
              {
                  BYTE ErrorType=0;
                  BYTE i;
                  BYTE ucCheckSum;
              
                  for(i=0;i<5;i++)
                  {
                      if(!Block)
                          mstLoadDisplayData(SFD_ADDRESS);
                      else
                          mstLoadDisplayData(SFD_ADDRESS+0x1000);
              
                      ucCheckSum=usrCalCheckSum((BYTE *)&g_VideoSetting, VideoSettingSize - CheckSumSize);
              
                      if(g_VideoSetting.Checksum!=ucCheckSum)
                          ErrorType|=CS_ERR;
              
                      if(g_VideoSetting.ucVersion!=VideoVersion)
                          ErrorType|=VER_ERR;
              
                      if(!ErrorType)
                          break;
                  }
              
                  return ErrorType;
              }
              
              
              void ReadSetting(void)
              {
                  BYTE Block0Err;
                  BYTE Block1Err;
              
                      if(g_bFlashReadOK)
                              return;
              
                  Block0Err=CheckFlashDataBlockError(0);
                  Block1Err=CheckFlashDataBlockError(1);
              
                  if(Block0Err&&!Block1Err) //Block0 error, Block1 OK, restore Block1 to Block0
                  {
                          putstr("\r\nBlock0 Err!");
                              SaveVideoSetting();
                  }
                  else if(!Block0Err&&Block1Err)
                  {
                          putstr("\r\nBlock1 Err!");
                      CheckFlashDataBlockError(0);
C51 COMPILER V8.01   USERPREF                                                              11/28/2006 08:08:10 PAGE 6   

                              SaveVideoSetting();
                  }
                  else if(Block0Err&&Block1Err)
                  {
                          putstr("\r\nUpdate!");
                              InitVideoSetting();
                              SaveVideoSetting();
                  }
                  else
                  {
                          putstr("\r\nLoad OK!");
                  }
              
                      g_bFlashReadOK=1;
              }
              
              #endif
 314          
 315          //*******************************************************************
 316          // Function Name: msSetUserPref
 317          //
 318          // Decscription: Restore user setting from NVRAM
 319          //
 320          // callee: msWriteByte() in ms_rwreg.c
 321          //
 322          // caller: msSetupMode() in mStar.c
 323          //*******************************************************************
 324          void msSetUserPref(void)
 325          {
 326   1          BYTE tempSat,tempCon,tempBri;
 327   1          if(IsVideoPortInUse())
 328   1          {
 329   2                  msAdjustVideoRGB (RedGain, GreenGain, BlueGain);
*** ERROR C202 IN LINE 329 OF ..\..\MSFUNC\USERPREF.C: 'RedGain': undefined identifier
 330   2                  msAdjustVideoCbCr(CbGain, CrGain );
*** ERROR C202 IN LINE 330 OF ..\..\MSFUNC\USERPREF.C: 'CbGain': undefined identifier
 331   2      
 332   2                  tempSat=usrNonLinearCalculate(g_NLCVideoSaturation,g_VideoSetting.VideoSaturation);
 333   2                  tempCon=usrNonLinearCalculate(g_NLCVideoContrast,g_VideoSetting.VideoContrast);
 334   2      
 335   2              #if TV_ENABLE
 336   2              if(IsTVInUse())
 337   2                  tempCon+=TV_EXTR_CONTRAST;
 338   2              #endif
 339   2      
 340   2                  msAdjustHSC(g_VideoSetting.VideoHue, tempSat, tempCon);
 341   2      
 342   2              msAdjustVideoHue(g_VideoSetting.VideoHue);
 343   2      
 344   2                  tempBri=usrNonLinearCalculate(g_NLCVideoBrightness,g_VideoSetting.VideoBrightness);
 345   2                  msAdjustBrightness(tempBri);
 346   2          }
 347   1          else
 348   1          {
 349   2                  tempBri=usrNonLinearCalculate(g_NLCVideoBrightness,g_PcSetting.Brightness);
 350   2                  msAdjustBrightness(tempBri);
 351   2                  msAdjustPCContrast(g_PcSetting.Contrast);
 352   2          }
 353   1      }
 354          
 355          //********************************************************************************************************
             -******//
C51 COMPILER V8.01   USERPREF                                                              11/28/2006 08:08:10 PAGE 7   

 356          #if TV_ENABLE
 357          void EraseEepromTvFlag(BYTE StartChannal)
 358          {
 359   1              BYTE channel;
 360   1              for(channel=StartChannal;channel<=MAX_CHANNEL_NUM-1;channel++)
 361   1          {
 362   2                      WatchDogClear();
 363   2                      NVRam_WriteByte((nvrChanneAddr(channel)+MISCOFFSETADDR), TV_SOUND_I|DoAFCFlag);
 364   2          }
 365   1      }
 366          
 367          void CheckChannelNumberSettingRang()
 368          {
 369   1          g_TVChSetting.ucCurChannelNO %=MAX_CHANNEL_NUM;
 370   1          g_TVChSetting.ucPreChannelNO %=MAX_CHANNEL_NUM;
 371   1          g_TVChSetting.ucMaxValidChNum %=MAX_CHANNEL_NUM;
 372   1          g_VideoSetting.TunerAGC%=0x20;
 373   1      }
 374          
 375          void ReadChannelNumberSetting(void)
 376          {
 377   1          NVRam_ReadTbl(ChannelNumberInfoAddr, (BYTE*)&g_TVChSetting, ChannelNumberInfoSize);
 378   1          CheckChannelNumberSettingRang();
 379   1      }
 380          
 381          void SaveChannelNumberSetting(void)
 382          {
 383   1              NVRam_WriteTbl(ChannelNumberInfoAddr, (BYTE*)&g_TVChSetting, ChannelNumberInfoSize);
 384   1      }
 385          #endif
 386          
 387          //********************************************************************************************************
             -******//
 388          #if VGA_ENABLE
 389          void InitSaveModeFlag(void)
 390          {
 391   1              NVRam_WriteByte(nvrMonitorAddr(Checksum), 0);
 392   1      
 393   1              for (g_ucSaveIndex=0; g_ucSaveIndex<NumberOfMode; g_ucSaveIndex++)
 394   1              {
 395   2                      WatchDogClear();
 396   2                  NVRam_WriteByte(nvrModeAddr(checksum), 0);
 397   2              }
 398   1      }
 399          
 400          void InitModeSetting(void)
 401          {
 402   1          g_ModeSetting.HTotal=StandardModeHTotal;
 403   1          g_ModeSetting.HStart=StandardModeHStart;
 404   1          g_ModeSetting.VStart=StandardModeVStart;
 405   1          g_ModeSetting.AutoHStart=g_ModeSetting.HStart;
 406   1          g_ModeSetting.AutoHStart=g_ModeSetting.VStart;
 407   1          g_ModeSetting.Phase=0x1F;
 408   1          g_ModeSetting.AutoTimes=0;
 409   1          g_ModeSetting.checksum=ModeCSValue;
 410   1      }
 411          
 412          void CheckModeSettingRange(void)
 413          {
 414   1          if (abs(g_ModeSetting.HTotal-StandardModeHTotal)>ClockAdjRange)
 415   1              g_ModeSetting.HTotal=StandardModeHTotal;
 416   1          if (g_ModeSetting.HStart>2*StandardModeHStart)
C51 COMPILER V8.01   USERPREF                                                              11/28/2006 08:08:10 PAGE 8   

 417   1              g_ModeSetting.HStart=StandardModeHStart;
 418   1          if (g_ModeSetting.VStart>2*StandardModeVStart)
 419   1              g_ModeSetting.VStart=StandardModeVStart;
 420   1      
 421   1          g_ModeSetting.Phase&=0x3F;
 422   1      
 423   1          if (g_ModeSetting.AutoTimes==0 || abs(g_ModeSetting.HStart-g_ModeSetting.AutoHStart)>50)
 424   1              g_ModeSetting.AutoHStart=g_ModeSetting.HStart;
 425   1      }
 426          
 427          
 428          
 429          void SaveModeSetting(void)
 430          {
 431   1          NVRam_WriteTbl(nvrModeBaseAddr(g_ucSaveIndex), (BYTE*)&g_ModeSetting, ModeSettingSize);
 432   1      }
 433          
 434          void GetModeSaveIndex(void)
 435          {
 436   1          ModeInfoType modeInfo;
 437   1          BYTE i;
 438   1          WORD hFreq, vFreq;
 439   1      
 440   1          hFreq=HFreq(SrcHPeriod);
 441   1          vFreq=VFreq(hFreq, SrcVTotal);
 442   1          for (i=0; i<UserModeNumber; i++)
 443   1          {
 444   2      #ifndef TempMask
 445   2            NVRam_ReadTbl(nvrModeInfoAddr(i) , (BYTE*)&modeInfo, ModeInfoSize);
 446   2      #endif
 447   2            if (abs(hFreq-modeInfo.HorFreq)<HFreq_Tol &&    abs(vFreq-modeInfo.VerFreq)<VFreq_Tol &&
 448   2                (SrcFlags&0x13)==modeInfo.Flags)
 449   2            break;
 450   2          }
 451   1      
 452   1          if (i>=UserModeNumber)
 453   1          {
 454   2              g_PcSetting.SavedModeIndex=(g_PcSetting.SavedModeIndex+1)%UserModeNumber;
 455   2              g_ucSaveIndex=g_PcSetting.SavedModeIndex;
 456   2              modeInfo.HorFreq=hFreq;
 457   2              modeInfo.VerFreq=vFreq;
 458   2              modeInfo.Flags=SrcFlags&0x13;
 459   2              NVRam_WriteTbl(nvrModeInfoAddr(g_ucSaveIndex), (BYTE*)&modeInfo, ModeInfoSize);
 460   2              NVRam_WriteByte(nvrModeAddr(checksum), 0);
 461   2              NVRam_WriteByte(nvrMonitorAddr(SavedModeIndex), g_PcSetting.SavedModeIndex);
 462   2          }
 463   1          else
 464   1              g_ucSaveIndex=i;
 465   1      }
 466          
 467          void ReadModeSetting(void)
 468          {
 469   1          BYTE tempValue;
 470   1          if (UserModeFlag)
 471   1              GetModeSaveIndex();
 472   1          else
 473   1              g_ucSaveIndex=g_ucSrcModeIndex;
 474   1      
 475   1      #ifndef TempMask
 476   1          NVRam_ReadByte(nvrModeAddr(checksum), &tempValue);
 477   1      #endif
 478   1      
C51 COMPILER V8.01   USERPREF                                                              11/28/2006 08:08:10 PAGE 9   

 479   1          if (tempValue==ModeCSValue)
 480   1          {
 481   2      #ifndef TempMask
 482   2              NVRam_ReadTbl(nvrModeBaseAddr(g_ucSaveIndex), (BYTE*)&g_ModeSetting, ModeSettingSize);
 483   2      #endif
 484   2          }
 485   1          else
 486   1          {
 487   2              InitModeSetting();
 488   2              SaveModeSetting();
 489   2          }
 490   1      
 491   1          CheckModeSettingRange();
 492   1      }
 493          #endif
 494          //********************************************************************************************************
             -******//
 495          

C51 COMPILATION COMPLETE.  1 WARNING(S),  6 ERROR(S)

⌨️ 快捷键说明

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