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

📄 mode.lst

📁 采用台湾MRT晶捷公司的MRT4方案的液晶电视的程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
              //done
                      if (findflag && up)
                      {
                              if (startValue== -128)
                              {
                                      startValue = madj_cnt;
              #if DEBUGMSG
                                      printf(" up, startValue = %d \n",(unsigned int)startValue);
              #endif                          
                              }
                      
              #if DEBUGMSG
                              printf(" +1   ");
              #endif                          
                              miscDClkUp(1);
                              madj_cnt++;
                              goto madj_next;
                      }       
                      else
                      {
              #if DEBUGMSG
                              printf(" -5  ");
              #endif                          
                              findflag = 1;
                              miscDClkDown(5);     
                              madj_cnt -= 5;
                              goto madj_next;         
                      }       
                      
              //down
              madj_down:
              
              #if DEBUGMSG
                  printf("    DClk- : ");
              #endif
                      if(madj_cnt-- < -MADJ_LIMIT) { 
                              goto madj_fail; 
                      }            
              
                      if (startValue != -128)
                      {   
                                      temp = madj_cnt;
                      #if DEBUGMSG
                                      printf(" endValue = %d \n",(unsigned int)temp);
                      #endif          
              
              #if CHIMEI_M150X3
                              if (!(eepData.MascotFlag & FLAG_PORTB)) 
                              {
                                      if((temp - startValue) < 2)
C51 COMPILER V6.23a  MODE                                                                  09/10/2004 16:09:01 PAGE 11  

                                      {
                                              RegByteOut(0x41,RegByteIn(0x41)+1);     
                      #if DEBUGMSG
                                              printf("Htotal++  redo_madj\n");
                      #endif                  
                                              goto redo_madj;
                                      }
                              }
              #endif
                                      temp = (1+temp-startValue)/2 + 1;
              
                      #if DEBUGMSG
                                      printf("ok -%d  ",(unsigned int)temp);
                      #endif          
                                      miscDClkDown(temp);                     
                                      RegByteOut(0xB0, 0x00);
                              return 1;
                      }   
                      else
                      {
                              if(up && (step > 1))
                                      step /=2;         
                      #if DEBUGMSG
                              printf(" -%d  ",(unsigned int)step);
                      #endif                  
                              madj_cnt -= step;       
                              miscDClkDown(step);               
                  }                    
                      up = 0;      
                      down = 1;       
                      miscDelay(1);
                  goto madj_next;
                  
              madj_fail:
              #if DEBUGMSG
                      printf("    Fail: overlimit ");
              #endif
                      RegByteOut(0xB0, 0x00);
                      return 0;    
              
              //up
              madj_up:
              
              #if DEBUGMSG
                  printf("    DClk+ : ");
              #endif
                  if (madj_cnt > MADJ_LIMIT) {
                      goto madj_fail;
                  }
              
                      if (findflag)
                      {
                              madj_cnt += 1;
                              miscDClkUp(1);
                      }
                      else 
                      {
                              if(down && (step > 1))
                                      step /=2;
              #if DEBUGMSG
                      printf(" +%d  ",(unsigned int)step);
              #endif                  
C51 COMPILER V6.23a  MODE                                                                  09/10/2004 16:09:01 PAGE 12  

                              madj_cnt += step;
                              miscDClkUp(step);               
                      }
                      up = 1;                                 
                      down = 0;       
                      miscDelay(1);   
                      goto madj_next;
              }
              
              #endif //(!MODE_ADJ_BY_CALCULATE)
 685          
 686          
 687          
 688          
 689          
 690          
 691          
 692          
 693          #if USE_TCON
              
              #define DEF_FDE         3
              #define CPV_VS      0x00
              #define CPV_VE      0x02
              #define POL_VS      0x58
              #define POL_VE      0x5A
              #define LP_VS       0x64
              #define LP_VE       0x66
              #define STV1_VS     0x08
              #define STV1_VE     0x0A
              #define STH1_VS     0x48
              #define STH1_VE     0x4A
              #define STV2_VS     0x10
              #define STV2_VE     0x12
              #define STV3_VS     0x18
              #define STV3_VE     0x1A
              #define STH8_VS     0x50
              #define STH8_VE     0x52
              #define OE1_VS      0x20
              #define OE1_VE      0x22
              #define OE2_VS      0x28
              #define OE2_VE      0x2A
              #define OE3_VS      0x30
              #define OE3_VE      0x32
              
              bit modeAdjustMVz(void)
              {
                      extern unsigned char code initTCON[];
                      unsigned char data mjz_cnt, mjz_buff;
                      unsigned char data temp;
              
                  // Adjust DCLK in MV mode
              #define FDE buff[0]
                      
                      temp = CurrentMode & 0x7f;
              
                      //Adjust DCLK in MVZ mode
              
                      #if 1   //MVXPRL
                      RegBitOut(0x24, 0x80, 0xC0);   
                      #else
                      RegBitOut(0x24, 0x00, 0xC0);   
                      #endif 
C51 COMPILER V6.23a  MODE                                                                  09/10/2004 16:09:01 PAGE 13  

              
              
                      TconByteOut(0x6C, 0x83);
              
                      if (temp <= 12 )
                              TconByteOut(0x6C, 0x84);
              
              
              #if (!USE_RSDS)         //20030307
                      RegByteOut(0x46, 0x00);
                      RegByteOut(0x47,0xB0+(RegByteIn(0x47)&0x0F)) ;
                      RegWordOut(0x48, 0x0001);
                      RegByteOut(0x4A, 0x04);
              #endif
                      miscDelay(30);   
              
              
              #if MODE_ADJ_BY_CALCULATE
                      if ( !fine() )
              #else
                      if ( !modeAdjust() ) 
              #endif
                              goto mjz_fail;
              
              
              
                      if (temp <= 12 )
                      {
                              FDE = 4;
                              goto mjz_done;
                      }
                      else
                              FDE = 3;
              
              
              //mjz_retry:
                      for (mjz_cnt = 0; mjz_cnt < 10; mjz_cnt++)
                      {
                              TconByteOut(0x6C, FDE+0x80);
              //              miscDelay(50);
                              mjz_buff = checkFifoState();
                              if (mjz_buff == 0x01) 
                              {
                                      if (FDE > 7)
                                              goto mjz_done;
                                      FDE++;
                              }
                              else if (mjz_buff == 0x02)
                              {
                                      if (FDE <= 2)
                                              goto mjz_done;
                                      FDE--;
                              }
                              else
                                      goto mjz_done;
                      }
              //      goto mjz_retry;
                      
              mjz_done:
                      TconByteOut(0x6C, FDE+0x80);
                      PatchTconTable(FDE-DEF_FDE);
                      return 1;
C51 COMPILER V6.23a  MODE                                                                  09/10/2004 16:09:01 PAGE 14  

                      
              
              mjz_fail:
              
                      return 0;
              
              #undef FDE
              }
              
              void PatchTconTable(char delta)
              {
                      extern unsigned char code initTCON[];
                      
                      miscSwitchTCONReg(1);
              
                      ival = ((unsigned int)initTCON[STV1_VS+1]<<8) + initTCON[STV1_VS];
              #if CPT_S15
                      RegWordOut(STV1_VS, ival+delta+1);
              #else
                      RegWordOut(STV1_VS, ival+delta);   
              #endif
                      ival = ((unsigned int)initTCON[STV2_VS+1]<<8) + initTCON[STV2_VS];
                      RegWordOut(STV2_VS, ival+delta);
                      ival = ((unsigned int)initTCON[STV3_VS+1]<<8) + initTCON[STV3_VS];
                      RegWordOut(STV3_VS, ival+delta);
              /*
                      ival = ((unsigned int)initTCON[CPV_VS+1]<<8) + initTCON[CPV_VS];
                      RegWordOut(CPV_VS, ival+delta);
                      ival = ((unsigned int)initTCON[OE1_VS+1]<<8) + initTCON[OE1_VS];
                      RegWordOut(OE1_VS, ival+delta);
                      ival = ((unsigned int)initTCON[OE2_VS+1]<<8) + initTCON[OE2_VS];
                      RegWordOut(OE2_VS, ival+delta);
                      ival = ((unsigned int)initTCON[OE3_VS+1]<<8) + initTCON[OE3_VS];
                      RegWordOut(OE3_VS, ival+delta);
                      ival = ((unsigned int)initTCON[CPH1_VS+1]<<8) + initTCON[CPH1_VS];
                      RegWordOut(CPH1_VS, ival+delta);    
                      ival = ((unsigned int)initTCON[CPH2_VS+1]<<8) + initTCON[CPH2_VS];
                      RegWordOut(CPH2_VS, ival+delta);    
                      ival = ((unsigned int)initTCON[STH1_VS+1]<<8) + initTCON[STH1_VS];
                      RegWordOut(STH1_VS, ival+delta);
                      ival = ((unsigned int)initTCON[STH8_VS+1]<<8) + initTCON[STH8_VS];
                      RegWordOut(STH8_VS, ival+delta);    
                      ival = ((unsigned int)initTCON[POL_VS+1]<<8) + initTCON[POL_VS];
                      RegWordOut(POL_VS, ival+delta);
                      ival = ((unsigned int)initTCON[SHC_VS+1]<<8) + initTCON[SHC_VS];
                      RegWordOut(SHC_VS, ival+delta);
                      ival = ((unsigned int)initTCON[LP_VS+1]<<8) + initTCON[LP_VS];
                      RegWordOut(LP_VS, ival+delta);
              */
                  
                      miscSwitchTCONReg(0); 

⌨️ 快捷键说明

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