Frame_Sync.lst
上传用户:xmyjxjd
上传日期:2013-05-04
资源大小:1517k
文件大小:74k
开发平台:

C/C++

  1. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 1   
  2. C51 COMPILER V7.06, COMPILATION OF MODULE FRAME_SYNC
  3. OBJECT MODULE PLACED IN .OutputFrame_Sync.obj
  4. COMPILER INVOKED BY: C:KeilC51BINC51.EXE CodeFrame_Sync.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS 
  5.                     -PRINT(.OutputFrame_Sync.lst) PREPRINT(.OutputFrame_Sync.i) OBJECT(.OutputFrame_Sync.obj)
  6. stmt level    source
  7.    1          #define __FRAMESYNC__
  8.    2          
  9.    3          #include "HeaderFrame_Sync.h"
  10.    4          #include "HeaderLcd_func.h"
  11.    5          #include "HeaderAccess.h"
  12.    6          #include "HeaderMain_def.h"
  13.    7          #include "HeaderConfig.h"
  14.    8          #include "HeaderLcd_main.h"
  15.    9          #include "HeaderLCD_OSD.h"
  16.   10          
  17.   11          
  18.   12          
  19.   13                  /////////////////////////
  20.   14                  // Frame-Sync Detector //
  21.   15                  /////////////////////////
  22.   16          bit Frame_Sync_Detector(void)
  23.   17          {
  24.   18   1              if (bPower_Status && bStable && MODE_NOSIGNAL != ucMode_Curr && MODE_NOSUPPORT != ucMode_Curr)
  25.   19   1              {
  26.   20   2                  if (bFrameSync)
  27.   21   2                  {
  28.   22   3                      RTDRead(STATUS1_1F, 1, N_INC);
  29.   23   3                      ucStatus    |= (Data[0] >> 6);
  30.   24   3      
  31.   25   3                                      if(Data[0])
  32.   26   3                                              RTDSetByte(STATUS1_1F,0x00);
  33.   27   3      
  34.   28   3                      if (Data[0] & 0xc0)
  35.   29   3                      {
  36.   30   4                          ucSyncErrorCnt  += 1;
  37.   31   4      #if (RTDDEBUG)
  38.                                   if (0xff > ucDebug)     ucDebug ++; 
  39.               #endif
  40.   34   4                      }
  41.   35   3      
  42.   36   3      //#if (DISP_BIT == DISP_18BIT)
  43.   37   3      //                else if (Data[0] & 0x04)
  44.   38   3      //                {
  45.   39   3      //                    bDitherToggle   = !bDitherToggle;
  46.   40   3      
  47.   41   3      //                    if (bDitherToggle)
  48.   42   3      //                    {
  49.   43   3      //                        bDitherTable    = !bDitherTable;
  50.   44   3      //                        WriteDither(bDitherTable ? DITHER_1 : DITHER_2);
  51.   45   3      //                    }
  52.   46   3      //                }
  53.   47   3      //#endif
  54.   48   3      
  55.   49   3                  }
  56.   50   2      
  57.   51   2                  if (SYNC_FAIL_TIMES >= ucSyncErrorCnt)
  58.   52   2                  {
  59.   53   3                      RTDRead(STATUS0_01, 1, N_INC);
  60.   54   3                      ucStatus    |= (Data[0] & 0xfc);
  61. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 2   
  62.   55   3      
  63.   56   3      
  64.   57   3                                      if(Data[0])
  65.   58   3                                              RTDSetByte(STATUS0_01,0x00); //if some event happened, write once to clear status
  66.   59   3                     
  67.   60   3                      if (Data[0] & 0x60)     ucSyncErrorCnt  += (SYNC_FAIL_TIMES + 1);
  68.   61   3      
  69.   62   3                      if (SOURCE_VGA == (stGUD1.INPUT_SOURCE & 0x07))
  70.   63   3                      {
  71.   64   4                          if (Data[0] & 0x80)
  72.   65   4                          {
  73.   66   5                              ucSyncErrorCnt  += 1;
  74.   67   5      #if (RTDDEBUG)
  75.                                       if (0xff > ucDebug)     ucDebug ++;                       
  76.               #endif
  77.   70   5                          }
  78.   71   4                          else
  79.   72   4                          {
  80.   73   5      
  81.   74   5      #if(TUNE_APLL)
  82.   75   5      
  83.   76   5                        RTDSetBit(DV_TOTAL_STATUS_3D, 0x7f, 0x20); //Enable PE Max Measurement
  84.   77   5                                        Delay_Xms(1);
  85.   78   5                            RTDRead(DV_TOTAL_STATUS_3D, 1, N_INC);
  86.   79   5                            ucPE_Max = Data[0] & 0x1f;
  87.   80   5                                        if((ucPE_Max > 0x10) && (ucPE_Level == 0))
  88.   81   5                                        {
  89.   82   6                                            ucPE_Level = 1;
  90.   83   6                                                Adjust_I_Code();
  91.   84   6                            if((ucI_Code & 0x80) == 0x80)
  92.   85   6                               RTDSetBit(I_CODE_MB_CA,0xdf,0x20);  //Set the I_Code[13] to 1;
  93.   86   6                            else
  94.   87   6                               RTDSetBit(I_CODE_MB_CA,0xdf,0x00);  //Set the I_Code[13] to 0;
  95.   88   6                            
  96.   89   6                            ucI_Code = ucI_Code & 0x7f;
  97.   90   6                                RTDSetByte(I_CODE_LB_C9,0x1c | ((ucI_Code & 0x07) << 5));
  98.   91   6                                RTDSetBit(I_CODE_MB_CA,0xfc,0x04 | ((ucI_Code & 0x18) >> 3));
  99.   92   6      
  100.   93   6                                                RTDSetBit(DV_TOTAL_STATUS_3D, 0xdf, 0x00);//Disable PE Max Measurement
  101.   94   6                            RTDSetByte(DV_TOTAL_STATUS_3D,0x40); //clear PE Max value
  102.   95   6                                                ucPE_Max = 0;
  103.   96   6                                        }
  104.   97   5                                        
  105.   98   5      #endif
  106.   99   5                          }
  107.  100   4                      }
  108.  101   3                  }
  109.  102   2      
  110.  103   2                  if (SYNC_FAIL_TIMES < ucSyncErrorCnt)
  111.  104   2                  {
  112.  105   3                      Reset_Mode();
  113.  106   3      
  114.  107   3                      Set_Task(STATE_MODECHANGE);     // Notify Task State Machine
  115.  108   3      
  116.  109   3                      bNotify_Timer0_Int  = 0;
  117.  110   3      
  118.  111   3                      return _TRUE;
  119.  112   3                      //continue;                       // leave current iteration.
  120.  113   3                  }
  121.  114   2      
  122.  115   2                  if (bNotify_Timer0_Int && MODE_DETECT_FREQ == ucModeCnt)
  123.  116   2                  {
  124. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 3   
  125.  117   3                      if (ucSyncErrorCnt)     ucSyncErrorCnt  -= 1;
  126.  118   3      
  127.  119   3                  }
  128.  120   2              }
  129.  121   1              return _FALSE;
  130.  122   1      }
  131.  123          
  132.  124          /////////////////////////////////////////////////////////////////////////////////
  133.  125          // FrameSync fine-tune routines
  134.  126          /////////////////////////////////////////////////////////////////////////////////
  135.  127          void AbortSync(void)
  136.  128          {
  137.  129   1          Data[0] = 5;
  138.  130   1          Data[1] = Y_INC;
  139.  131   1          Data[2] = DH_TOTAL_22;
  140.  132   1          Data[3] = (unsigned char)usDH_Total;
  141.  133   1          Data[4] = (unsigned char)(usDH_Total >> 8);
  142.  134   1          Data[5] = 0;
  143.  135   1          RTDWrite(Data);
  144.  136   1      
  145.  137   1          RTDSetBit(DV_TOTAL_H_2E, 0x07, 0x00);
  146.  138   1      }
  147.  139          
  148.  140          unsigned char TestSync(unsigned int offset)     // 0 - Success; Otherwise - Fail
  149.  141          {
  150.  142   1      
  151.  143   1              RTDSetByte(DCLK_OFFSET_LSB_9A,(unsigned char)offset);
  152.  144   1              RTDSetBit(DCLK_OFFSET_MSB_9B,0xf0,(unsigned char)((offset >> 8) & 0x0f) | 0x20);
  153.  145   1      
  154.  146   1          //RTDSetBit(DV_TOTAL_H_2E, 0x07, fine & 0xf8);
  155.  147   1      
  156.  148   1          Wait_For_Event(EVENT_DVS);          // Wait for Frame End
  157.  149   1          //Delay_Xms(10);
  158.  150   1      
  159.  151   1              RTDSetByte(STATUS0_01,0x00);
  160.  152   1      
  161.  153   1          Wait_For_Event(EVENT_DVS);          // Wait for Frame End
  162.  154   1      
  163.  155   1          //RTDSetByte(STATUS0_01,0x00);////
  164.  156   1      /*
  165.  157   1          if (SOURCE_VGA != (stGUD1.INPUT_SOURCE & 0x07))
  166.  158   1          {
  167.  159   1              Wait_For_Event(EVENT_DVS);      // Wait for Frame End
  168.  160   1          }
  169.  161   1      */
  170.  162   1          Wait_For_Event(EVENT_DVS);          // Wait for Frame End
  171.  163   1      
  172.  164   1              //RTDSetByte(STATUS0_01,0x00);////
  173.  165   1              //Delay_Xms(10);
  174.  166   1      
  175.  167   1          RTDRead(STATUS0_01, 1, N_INC);      // Get status
  176.  168   1      
  177.  169   1      
  178.  170   1              if(Data[0])
  179.  171   1                  RTDSetByte(STATUS0_01,0x00);
  180.  172   1      
  181.  173   1      
  182.  174   1          if (Data[0] & 0x60) // Mode Changed
  183.  175   1          {
  184.  176   2              AbortSync();
  185.  177   2              return 1;
  186.  178   2          }
  187. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 4   
  188.  179   1      
  189.  180   1          Data[0] &= 0x03;
  190.  181   1      
  191.  182   1          return 0;   // Success
  192.  183   1      }
  193.  184          
  194.  185          
  195.  186          
  196.  187          //Returned value
  197.  188          // 0 : Succeed(Frame-sync settings returned in Data[3] and Data[4])
  198.  189          // 1 : Fail
  199.  190          // 2 : Abort
  200.  191          #define Offset_Step      32//16 //This value should better larger then 16
  201.  192          unsigned char Frame_Sync(void)
  202.  193          {
  203.  194   1         unsigned int idata usBuffer,usDelta;
  204.  195   1         unsigned char idata  ucFine,ucTemp=0;
  205.  196   1      
  206.  197   1      #if(FIX_LAST_DHT)
  207.                  unsigned int idata usMax_Last_Line,usMin_Last_Line;
  208.               #endif
  209.  200   1      
  210.  201   1      
  211.  202   1      
  212.  203   1         RTDRead(DCLK_OFFSET_LSB_9A , 2, Y_INC);
  213.  204   1         Data[2] = Data[1] & 0x0f;
  214.  205   1         Data[3] = Data[0];
  215.  206   1         usBuffer = ((unsigned int*)Data)[1];//get the DCLK offset
  216.  207   1         //usDelta = ((unsigned int*)Data)[1];//get the DCLK offset
  217.  208   1         usDelta = usBuffer;
  218.  209   1      //   ucFine = 0;
  219.  210   1      
  220.  211   1         if(((stGUD1.INPUT_SOURCE & 0x07) == SOURCE_VGA) || ((stGUD1.INPUT_SOURCE & 0x07) == SOURCE_DVI))
  221.  212   1         {
  222.  213   2      
  223.  214   2         //while(usDelta < Offset_Step * 14) 
  224.  215   2         while(usBuffer < (1228 + 14 * Offset_Step))
  225.  216   2         //while(usBuffer < (1228 + 24 * Offset_Step))        //eric 0729 issue: dvi flash
  226.  217   2         {
  227.  218   3                 RTDRead(DPLL_M_D1,2,Y_INC);
  228.  219   3                 RTDSetByte(DPLL_M_D1,Data[0]+1);
  229.  220   3                 RTDSetByte(DPLL_N_D2,Data[1]);
  230.  221   3      //     Forster :
  231.  222   3      //     if the DCLK offset too small, then set the M_Code = M_Code + 1
  232.  223   3      //     And reculculate the offset
  233.  224   3      //     Original formula:
  234.  225   3      //     24.576M * M/N - 24.576M*M/N/2^15*old_offset = 24.576M*(M+1)/N - 24.576M*(M+1)/N/2^15*new_offset
  235.  226   3      //     => new_offset = (2^15 + M*old_offset) / (M+1);
  236.  227   3                 usBuffer = (unsigned int)((unsigned long)(32768 + (unsigned long)(Data[0] + 2) * usBuffer)/(unsigned l
  237.              -ong)(Data[0] + 3));
  238.  228   3                 //usBuffer = (32768 + (Data[0] + 2) * usDelta)/(Data[0] + 3);
  239.  229   3                 usDelta = usBuffer;
  240.  230   3             
  241.  231   3         }
  242.  232   2      
  243.  233   2      
  244.  234   2      /*   //Below spend more code size
  245.  235   2         ((unsigned int*)Data)[1] = 1228 + 14 * Offset_Step;
  246.  236   2      
  247.  237   2         if(usBuffer < ((unsigned int*)Data)[1])
  248.  238   2         {
  249.  239   2                 RTDRead(DPLL_M_D1,1,N_INC);
  250. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 5   
  251.  240   2                 
  252.  241   2                 ucFine =(unsigned char)((unsigned long)(Data[0] + 2) * (((unsigned int*)Data)[1] - usBuffer)/(unsigned
  253.              - long)(32768 - ((unsigned int*)Data)[1]));
  254.  242   2      
  255.  243   2                 usBuffer = (unsigned int)(((unsigned long)32768 * (ucFine + 1) + (unsigned long)(Data[0] + 2) * usBuff
  256.              -er)/(unsigned long)(Data[0] + 2 + (ucFine + 1)));
  257.  244   2      
  258.  245   2                 RTDSetByte(DPLL_M_D1,Data[0] + ucFine + 1);
  259.  246   2                 RTDSetBit(DPLL_N_D2,0xf8,USER_MODE_NCODE - 2);
  260.  247   2         }
  261.  248   2      
  262.  249   2         usDelta = usBuffer;
  263.  250   2      */   
  264.  251   2         usDelta -= 128; //Clk offset fine-tune
  265.  252   2         }
  266.  253   1      
  267.  254   1         usBuffer = usDelta;
  268.  255   1        
  269.  256   1      
  270.  257   1         for(ucFine =0;ucFine < 14;ucFine++)
  271.  258   1         {
  272.  259   2                 if (TestSync(usDelta))    return 2;
  273.  260   2      
  274.  261   2                 if(Data[0] & 0x03)
  275.  262   2                 {
  276.  263   3                         usDelta = (Data[0] & 0x02) ? usDelta - Offset_Step : usDelta + Offset_Step;
  277.  264   3                         ucTemp += 1;
  278.  265   3                 }
  279.  266   2                 else if((Data[0] & 0x03) == 0)
  280.  267   2                         break;
  281.  268   2         }
  282.  269   1      
  283.  270   1         if(Data[0] & 0x03)
  284.  271   1                return 1;   // Frame sync fail  
  285.  272   1      #if(SPREAD_SPECTRUM)
  286.  273   1         else if(usDelta < usBuffer) //Get more margin of Framesync
  287.  274   1         {
  288.  275   2                 //usDelta -= 2;
  289.  276   2                 if(TestSync(usDelta - 4))    return 2;
  290.  277   2      
  291.  278   2                 if(Data[0] & 0x03)
  292.  279   2                     TestSync(usDelta);
  293.  280   2                 else
  294.  281   2                     usDelta -= 2;
  295.  282   2                 
  296.  283   2         }
  297.  284   1         else//(usDelta > usBuffer) //Get more margin of Framesync
  298.  285   1         {
  299.  286   2                 //usDelta += 2;
  300.  287   2                 if(TestSync(usDelta + 4))    return 2;
  301.  288   2      
  302.  289   2                 if(Data[0] & 0x03)
  303.  290   2                     TestSync(usDelta);
  304.  291   2                 else 
  305.  292   2                     usDelta += 2;
  306.  293   2         }
  307.  294   1      #endif   
  308.  295   1      
  309.  296   1      //   ucDebug_Value0 = ucTemp;
  310.  297   1      #if(FIX_LAST_DHT)
  311.               
  312.                  //Disable spread spectrum
  313. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 6   
  314.               #if(SPREAD_SPECTRUM)
  315.                   RTDSetBit(SPREAD_SPECTRUM_99,0x0f,0x00);
  316.                       RTDSetBit(DCLK_OFFSET_MSB_9B,0xff,0x20);
  317.               #endif
  318.                
  319.                      //Read the last line information , read back data equal to half last line length
  320.                          RTDRead(LAST_LINE_H_2C, 1, N_INC);
  321.                      usMax_Last_Line = (unsigned int)(Data[0] & 0xf8) << 2;
  322.               
  323.                      RTDRead(LAST_LINE_L_26, 1, N_INC);
  324.                      usMax_Last_Line = usMax_Last_Line + (Data[0] / 8);
  325.                       
  326.                           
  327.                               
  328.                          //Read the last line information when frequency offset set one more step
  329.                          RTDSetByte(DCLK_OFFSET_LSB_9A,(unsigned char)(usDelta + 1));
  330.                          RTDSetBit(DCLK_OFFSET_MSB_9B,0xf0,(unsigned char)(((usDelta + 1) >> 8) & 0x07) | 0x20);
  331.               
  332.                          Wait_For_Event(EVENT_IVS);
  333.                          Wait_For_Event(EVENT_IVS);
  334.               
  335.                          RTDRead(LAST_LINE_H_2C, 1, N_INC);
  336.                      usMin_Last_Line = (unsigned int)(Data[0] & 0xf8) << 2;
  337.                      RTDRead(LAST_LINE_L_26, 1, N_INC);
  338.                      usMin_Last_Line = usMin_Last_Line + (Data[0] / 8);
  339.               
  340.                           
  341.               
  342.                          //Calculate the difference of last line when increase one offset step
  343.                          if(usMin_Last_Line < usMax_Last_Line)
  344.                                  usMin_Last_Line = usMax_Last_Line - usMin_Last_Line;
  345.                          else
  346.                                  usMin_Last_Line = usDH_Total/2 - usMin_Last_Line + usMax_Last_Line;
  347.               
  348.                          if(FIX_LAST_DHT > usMax_Last_Line)
  349.                          {
  350.                          if((FIX_LAST_DHT - usMax_Last_Line) > (usDH_Total / 4)) 
  351.                                  {   //decrease the last line, decrease the DClk
  352.                                          Data[0] = (unsigned int)(usMax_Last_Line + (usDH_Total / 2 - FIX_LAST_DHT)) / usMin_Last_Line;
  353.                                          usDelta = usDelta + Data[0];
  354.                                  }
  355.                                  else
  356.                                  {   //increase the last line, increase the DClk
  357.                                          Data[0] = (unsigned int)(FIX_LAST_DHT - usMax_Last_Line) / usMin_Last_Line; 
  358.                                          usDelta = usDelta - (Data[0] + 1);
  359.                                  }
  360.                          }
  361.                          else
  362.                          {
  363.                                  if((usMax_Last_Line - FIX_LAST_DHT) > (usDH_Total / 4)) 
  364.                                  {   //increase the last line, increase the DClk
  365.                                          Data[0] = (unsigned int)(FIX_LAST_DHT + (usDH_Total / 2 - usMax_Last_Line)) / usMin_Last_Line;
  366.                                          usDelta = usDelta - (Data[0] + 1);
  367.                                  }
  368.                                  else
  369.                                  {   //decrease the last line, decrease the DClk
  370.                                          Data[0] = (usMax_Last_Line - FIX_LAST_DHT) / usMin_Last_Line; 
  371.                                          Data[11] = Data[0];
  372.                                          usDelta += Data[0];
  373.                                          
  374.                                  }
  375.                          }
  376. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 7   
  377.               
  378.               
  379.                        //Enable the apread spectrum again
  380.               #if (SPREAD_SPECTRUM)
  381.                   RTDSetBit(SPREAD_SPECTRUM_99,0x0f,(DCLK_SPRED_RANGE << 4));
  382.                   if(TestSync(usDelta + DCLK_OFFSET[DCLK_SPRED_RANGE]))    
  383.                          return 2;
  384.                       
  385.                       if(Data[0] & 0x03)
  386.                       {
  387.                      if(TestSync((Data[0] & 0x02) ? (usDelta + DCLK_OFFSET[DCLK_SPRED_RANGE] - 1)
  388.                                                       : (usDelta + DCLK_OFFSET[DCLK_SPRED_RANGE] + 1)))  //Fine tune Dclk offse
  389.              -t 
  390.                             return 2;
  391.                          else
  392.                          {
  393.                                 if(Data[0] & 0x03)
  394.                                            return 1; //frame sync fail!
  395.                                         else
  396.                                return 0;
  397.                          }
  398.                       }
  399.               #else
  400.                   if(TestSync(usDelta))    return 2;
  401.               #endif
  402.               
  403.               
  404.                          RTDSetByte(FX_LST_LEN_L_59,(unsigned char)(FIX_LAST_DHT << 1));
  405.                          RTDSetBit(FX_LST_LEN_H_5A,0x08,(unsigned char)((FIX_LAST_DHT >> 7) & 0x07));
  406.               
  407.                       RTDRead(DV_ACT_END_34, 2, Y_INC);
  408.                       Data[2] = Data[1] & 0x07;
  409.                       Data[3] = Data[0];
  410.               
  411.                       Data[4] = ((Data[1] & 0xf0) >> 4); //Measure result of last 16 line of DVTotal, including the un-c
  412.              -omplete last line
  413.                   
  414.                       // Get Output_Active Height
  415.                       ((unsigned int *)Data)[1]   = ((unsigned int *)Data)[1] - DV_ACT_STA_POS;
  416.               
  417.                       // Original Idea :
  418.                       // DVTotal  = Output_Active_Line * (Input_Total_Line / Input_Active_Line) 
  419.                       usDelta = (unsigned long)usVsync * ((unsigned int *)Data)[1] / usIPV_ACT_LEN;   
  420.                       usDelta = (usDelta & 0xfff0 | Data[4]); 
  421.               
  422.                               RTDSetByte(FIX_DVTOTAL_LSB_97,(unsigned char)usDelta);
  423.                               RTDSetByte(FIX_DVTOTAL_MSB_98,(unsigned char)((usDelta >> 8) & 0x07));
  424.               
  425.                       RTDSetBit(SPREAD_SPECTRUM_99,0xfc,0x03); //Frequency Synthesis select N = 4
  426.                               RTDSetBit(DCLK_OFFSET_MSB_9B,0xff,0x20);
  427.               
  428.                       
  429.               //          RTDSetBit(FX_LST_LEN_H_5A,0xff,0x10); //Enable the Fixed DVTOTAL & Last Line Lenghth Fucntion
  430.               //          RTDSetBit(FX_LST_LEN_H_5A,0xff,0x10); //Enable the Fixed DVTOTAL & Last Line Lenghth Fucntion
  431.                          
  432.                          return 0;
  433.               #else
  434.  417   1      
  435.  418   1      #if (SPREAD_SPECTRUM)
  436.  419   1          RTDSetBit(SPREAD_SPECTRUM_99,0x0f,(DCLK_SPRED_RANGE << 4));
  437.  420   1          if(TestSync(usDelta + DCLK_OFFSET[DCLK_SPRED_RANGE]))    
  438.  421   1                 return 2;
  439. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 8   
  440.  422   1              
  441.  423   1              if(Data[0] & 0x03)
  442.  424   1              {
  443.  425   2             if(TestSync((Data[0] & 0x02) ? (usDelta + DCLK_OFFSET[DCLK_SPRED_RANGE] - 1)
  444.  426   2                                              : (usDelta + DCLK_OFFSET[DCLK_SPRED_RANGE] + 1)))   //Fine tune Dclk offs
  445.              -et 
  446.  427   2                            return 2;
  447.  428   2                 else 
  448.  429   2                 {
  449.  430   3                        if(Data[0] & 0x03)
  450.  431   3                                   return 1; //frame sync fail!
  451.  432   3                                else
  452.  433   3                       return 0;
  453.  434   3                 }
  454.  435   2                 
  455.  436   2              }
  456.  437   1      #else
  457.                      return 0;   
  458.               #endif
  459.  440   1             return 0;
  460.  441   1      #endif
  461.  442   1      
  462.  443   1      }
  463.  444          
  464.  445          
  465.  446          
  466.  447          
  467.  448          void Adjust_I_Code(void)
  468.  449          {
  469.  450   1         // Calculate the IHF in KHz
  470.  451   1                 ((unsigned int*)Data)[0] = 24576/usHsync; //Input Horizontal Frequency
  471.  452   1                 //Formula: I_Correction = CE * 2 * Fav(253687) * 100 / IHF / 2^(I_Code - 34)
  472.  453   1                 //Data[2] : I_Code = 14; I_Code[13] = 0;
  473.  454   1      
  474.  455   1                 ucI_Code = 14;
  475.  456   1                 Data[2] = ((unsigned long)ucCE_Value * 50737400 / (unsigned long)((unsigned int*)Data)[0]) >> 20;
  476.  457   1                 Data[3] = (I_Correction == 0) ? (ucPE_Level ? (Correct_Amount - ucP_Corr) : ((ucP_Corr >> 2) + 10)) : 
  477.  458   1                                               I_Correction;
  478.  459   1      
  479.  460   1                 while(1)
  480.  461   1                 {
  481.  462   2                         
  482.  463   2                         if(Data[2] > Data[3])
  483.  464   2                         {
  484.  465   3                                 Data[2] = Data[2] >> 1;
  485.  466   3                                 ucI_Code -= 1;
  486.  467   3      
  487.  468   3                                 if(Data[2] <= Data[3])
  488.  469   3                                         break;
  489.  470   3                         }
  490.  471   2                         else
  491.  472   2                         {
  492.  473   3                                 if((Data[2] << 1) > Data[3])
  493.  474   3                                         break;
  494.  475   3                                 else
  495.  476   3                                 {
  496.  477   4                                         Data[2] = Data[2] << 1;
  497.  478   4                                         ucI_Code += 1;
  498.  479   4                                 }
  499.  480   3                         }
  500.  481   2                 }
  501.  482   1      //             ucDebug_Value1 = ucP_Corr;
  502. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 9   
  503.  483   1              
  504.  484   1                 
  505.  485   1             if((unsigned char)((unsigned int)Data[2]*3/2) <= Data[3]) // Judge if I_Code[13] set to 1 will more
  506.              - close to 155
  507.  486   1                 {             
  508.  487   2                   ucI_Code |= 0x80;
  509.  488   2      //                       ucDebug_Value2 = ((unsigned char)((unsigned int)Data[2]*3) >> 1);   
  510.  489   2                 }
  511.  490   1                 else
  512.  491   1                 {
  513.  492   2      //                       ucDebug_Value2 = Data[2];   
  514.  493   2                      }
  515.  494   1                      
  516.  495   1      
  517.  496   1      }
  518. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 10  
  519. ASSEMBLY LISTING OF GENERATED OBJECT CODE
  520.              ; FUNCTION Com0042 (BEGIN)
  521. 0000         L?0067:
  522. 0000         L?0068:
  523. 0000 7800        R     MOV     R0,#LOW usDelta
  524. 0002 E6                MOV     A,@R0
  525. 0003 FE                MOV     R6,A
  526. 0004 08                INC     R0
  527. 0005 E6                MOV     A,@R0
  528. 0006 FF                MOV     R7,A
  529. 0007 22                RET     
  530. 0008         L?0069:
  531. 0008         L?0070:
  532. 0008 E4                CLR     A
  533. 0009 93                MOVC    A,@A+DPTR
  534. 000A 7800        R     MOV     R0,#LOW usDelta+01H
  535. 000C 26                ADD     A,@R0
  536. 000D FF                MOV     R7,A
  537. 000E E4                CLR     A
  538. 000F 18                DEC     R0
  539. 0010 36                ADDC    A,@R0
  540. 0011 22                RET     
  541. 0012         L?0072:
  542. 0012 7800        R     MOV     R0,#LOW usDelta+01H
  543. 0014 26                ADD     A,@R0
  544. 0015 F6                MOV     @R0,A
  545. 0016 18                DEC     R0
  546. 0017 74FF              MOV     A,#0FFH
  547. 0019 36                ADDC    A,@R0
  548. 001A F6                MOV     @R0,A
  549. 001B 22                RET     
  550.              ; FUNCTION Com0042 (END)
  551.              ; FUNCTION Frame_Sync_Detector (BEGIN)
  552.                                            ; SOURCE LINE # 16
  553.                                            ; SOURCE LINE # 17
  554.                                            ; SOURCE LINE # 18
  555. 0000 200003      E     JB      bPower_Status,$ + 6H
  556. 0003 020000      R     LJMP    ?C0001
  557. 0006 200003      E     JB      bStable,$ + 6H
  558. 0009 020000      R     LJMP    ?C0001
  559. 000C 7800        E     MOV     R0,#LOW ucMode_Curr
  560. 000E E6                MOV     A,@R0
  561. 000F FF                MOV     R7,A
  562. 0010 7003              JNZ     $ + 5H
  563. 0012 020000      R     LJMP    ?C0001
  564. 0015 F4                CPL     A
  565. 0016 7003              JNZ     $ + 5H
  566. 0018 020000      R     LJMP    ?C0001
  567.                                            ; SOURCE LINE # 19
  568.                                            ; SOURCE LINE # 20
  569. 001B 300022      R     JNB     bFrameSync,?C0002
  570.                                            ; SOURCE LINE # 21
  571.                                            ; SOURCE LINE # 22
  572. 001E 7F1F              MOV     R7,#01FH
  573.                                            ; SOURCE LINE # 23
  574. 0020 120000      R     LCALL   L?0071
  575. 0023 C4                SWAP    A
  576. 0024 13                RRC     A
  577. 0025 13                RRC     A
  578. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 11  
  579. 0026 5403              ANL     A,#03H
  580. 0028 7800        R     MOV     R0,#LOW ucStatus
  581. 002A 46                ORL     A,@R0
  582. 002B F6                MOV     @R0,A
  583.                                            ; SOURCE LINE # 25
  584. 002C E500        E     MOV     A,Data
  585. 002E 6007              JZ      ?C0003
  586.                                            ; SOURCE LINE # 26
  587. 0030 E4                CLR     A
  588. 0031 FD                MOV     R5,A
  589. 0032 7F1F              MOV     R7,#01FH
  590. 0034 120000      E     LCALL   _RTDSetByte
  591. 0037         ?C0003:
  592.                                            ; SOURCE LINE # 28
  593. 0037 E500        E     MOV     A,Data
  594. 0039 54C0              ANL     A,#0C0H
  595. 003B 6003              JZ      ?C0002
  596.                                            ; SOURCE LINE # 29
  597.                                            ; SOURCE LINE # 30
  598. 003D 7800        R     MOV     R0,#LOW ucSyncErrorCnt
  599. 003F 06                INC     @R0
  600.                                            ; SOURCE LINE # 34
  601.                                            ; SOURCE LINE # 49
  602. 0040         ?C0002:
  603.                                            ; SOURCE LINE # 51
  604. 0040 7401              MOV     A,#01H
  605. 0042 C3                CLR     C
  606. 0043 7800        R     MOV     R0,#LOW ucSyncErrorCnt
  607. 0045 96                SUBB    A,@R0
  608. 0046 5003              JNC     $ + 5H
  609. 0048 020000      R     LJMP    ?C0005
  610.                                            ; SOURCE LINE # 52
  611.                                            ; SOURCE LINE # 53
  612. 004B 7F01              MOV     R7,#01H
  613.                                            ; SOURCE LINE # 54
  614. 004D 120000      R     LCALL   L?0071
  615. 0050 54FC              ANL     A,#0FCH
  616. 0052 7800        R     MOV     R0,#LOW ucStatus
  617. 0054 46                ORL     A,@R0
  618. 0055 F6                MOV     @R0,A
  619.                                            ; SOURCE LINE # 57
  620. 0056 E500        E     MOV     A,Data
  621. 0058 6007              JZ      ?C0006
  622.                                            ; SOURCE LINE # 58
  623. 005A E4                CLR     A
  624. 005B FD                MOV     R5,A
  625. 005C 7F01              MOV     R7,#01H
  626. 005E 120000      E     LCALL   _RTDSetByte
  627. 0061         ?C0006:
  628.                                            ; SOURCE LINE # 60
  629. 0061 E500        E     MOV     A,Data
  630. 0063 5460              ANL     A,#060H
  631. 0065 6004              JZ      ?C0007
  632. 0067 7800        R     MOV     R0,#LOW ucSyncErrorCnt
  633. 0069 06                INC     @R0
  634. 006A 06                INC     @R0
  635. 006B         ?C0007:
  636.                                            ; SOURCE LINE # 62
  637. 006B E500        E     MOV     A,stGUD1+01H
  638. 006D 5407              ANL     A,#07H
  639. 006F 6003              JZ      $ + 5H
  640. 0071 020000      R     LJMP    ?C0005
  641. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 12  
  642.                                            ; SOURCE LINE # 63
  643.                                            ; SOURCE LINE # 64
  644. 0074 E500        E     MOV     A,Data
  645. 0076 30E705            JNB     ACC.7,?C0009
  646.                                            ; SOURCE LINE # 65
  647.                                            ; SOURCE LINE # 66
  648. 0079 7800        R     MOV     R0,#LOW ucSyncErrorCnt
  649. 007B 06                INC     @R0
  650.                                            ; SOURCE LINE # 70
  651. 007C 807C              SJMP    ?C0005
  652. 007E         ?C0009:
  653.                                            ; SOURCE LINE # 72
  654.                                            ; SOURCE LINE # 76
  655. 007E 7B20              MOV     R3,#020H
  656. 0080 7D7F              MOV     R5,#07FH
  657. 0082 7F3D              MOV     R7,#03DH
  658. 0084 120000      E     LCALL   _RTDSetBit
  659.                                            ; SOURCE LINE # 77
  660. 0087 7F01              MOV     R7,#01H
  661. 0089 120000      E     LCALL   _Delay_Xms
  662.                                            ; SOURCE LINE # 78
  663. 008C 7B01              MOV     R3,#01H
  664. 008E 7D01              MOV     R5,#01H
  665. 0090 7F3D              MOV     R7,#03DH
  666. 0092 120000      E     LCALL   _RTDRead
  667.                                            ; SOURCE LINE # 79
  668. 0095 E500        E     MOV     A,Data
  669. 0097 541F              ANL     A,#01FH
  670. 0099 7800        R     MOV     R0,#LOW ucPE_Max
  671. 009B F6                MOV     @R0,A
  672.                                            ; SOURCE LINE # 80
  673. 009C D3                SETB    C
  674. 009D 9410              SUBB    A,#010H
  675. 009F 4059              JC      ?C0005
  676. 00A1 7800        E     MOV     R0,#LOW ucPE_Level
  677. 00A3 E6                MOV     A,@R0
  678. 00A4 7054              JNZ     ?C0005
  679.                                            ; SOURCE LINE # 81
  680.                                            ; SOURCE LINE # 82
  681. 00A6 7601              MOV     @R0,#01H
  682.                                            ; SOURCE LINE # 83
  683. 00A8 120000      R     LCALL   Adjust_I_Code
  684.                                            ; SOURCE LINE # 84
  685. 00AB 7800        R     MOV     R0,#LOW ucI_Code
  686. 00AD E6                MOV     A,@R0
  687. 00AE 30E704            JNB     ACC.7,?C0012
  688.                                            ; SOURCE LINE # 85
  689. 00B1 7B20              MOV     R3,#020H
  690. 00B3 8002              SJMP    ?C0064
  691. 00B5         ?C0012:
  692.                                            ; SOURCE LINE # 87
  693. 00B5 E4                CLR     A
  694. 00B6 FB                MOV     R3,A
  695. 00B7         ?C0064:
  696. 00B7 7DDF              MOV     R5,#0DFH
  697. 00B9 7FCA              MOV     R7,#0CAH
  698. 00BB 120000      E     LCALL   _RTDSetBit
  699. 00BE         ?C0013:
  700.                                            ; SOURCE LINE # 89
  701. 00BE 7800        R     MOV     R0,#LOW ucI_Code
  702. 00C0 E6                MOV     A,@R0
  703. 00C1 547F              ANL     A,#07FH
  704. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 13  
  705. 00C3 F6                MOV     @R0,A
  706.                                            ; SOURCE LINE # 90
  707. 00C4 5407              ANL     A,#07H
  708. 00C6 C4                SWAP    A
  709. 00C7 33                RLC     A
  710. 00C8 54E0              ANL     A,#0E0H
  711. 00CA 441C              ORL     A,#01CH
  712. 00CC FD                MOV     R5,A
  713. 00CD 7FC9              MOV     R7,#0C9H
  714. 00CF 120000      E     LCALL   _RTDSetByte
  715.                                            ; SOURCE LINE # 91
  716. 00D2 7800        R     MOV     R0,#LOW ucI_Code
  717. 00D4 E6                MOV     A,@R0
  718. 00D5 5418              ANL     A,#018H
  719. 00D7 13                RRC     A
  720. 00D8 13                RRC     A
  721. 00D9 13                RRC     A
  722. 00DA 541F              ANL     A,#01FH
  723. 00DC 4404              ORL     A,#04H
  724. 00DE FB                MOV     R3,A
  725. 00DF 7DFC              MOV     R5,#0FCH
  726. 00E1 7FCA              MOV     R7,#0CAH
  727. 00E3 120000      E     LCALL   _RTDSetBit
  728.                                            ; SOURCE LINE # 93
  729. 00E6 E4                CLR     A
  730. 00E7 FB                MOV     R3,A
  731. 00E8 7DDF              MOV     R5,#0DFH
  732. 00EA 7F3D              MOV     R7,#03DH
  733. 00EC 120000      E     LCALL   _RTDSetBit
  734.                                            ; SOURCE LINE # 94
  735. 00EF 7D40              MOV     R5,#040H
  736. 00F1 7F3D              MOV     R7,#03DH
  737. 00F3 120000      E     LCALL   _RTDSetByte
  738.                                            ; SOURCE LINE # 95
  739. 00F6 E4                CLR     A
  740. 00F7 7800        R     MOV     R0,#LOW ucPE_Max
  741. 00F9 F6                MOV     @R0,A
  742.                                            ; SOURCE LINE # 96
  743.                                            ; SOURCE LINE # 99
  744.                                            ; SOURCE LINE # 100
  745.                                            ; SOURCE LINE # 101
  746. 00FA         ?C0005:
  747.                                            ; SOURCE LINE # 103
  748. 00FA 7401              MOV     A,#01H
  749. 00FC C3                CLR     C
  750. 00FD 7800        R     MOV     R0,#LOW ucSyncErrorCnt
  751. 00FF 96                SUBB    A,@R0
  752. 0100 500C              JNC     ?C0014
  753.                                            ; SOURCE LINE # 104
  754.                                            ; SOURCE LINE # 105
  755. 0102 120000      E     LCALL   Reset_Mode
  756.                                            ; SOURCE LINE # 107
  757. 0105 7F02              MOV     R7,#02H
  758. 0107 120000      E     LCALL   _Set_Task
  759.                                            ; SOURCE LINE # 109
  760. 010A C200        E     CLR     bNotify_Timer0_Int
  761.                                            ; SOURCE LINE # 111
  762. 010C D3                SETB    C
  763. 010D 22                RET     
  764.                                            ; SOURCE LINE # 113
  765. 010E         ?C0014:
  766.                                            ; SOURCE LINE # 115
  767. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 14  
  768. 010E 30000C      E     JNB     bNotify_Timer0_Int,?C0001
  769. 0111 7800        E     MOV     R0,#LOW ucModeCnt
  770. 0113 E6                MOV     A,@R0
  771. 0114 B40206            CJNE    A,#02H,?C0001
  772.                                            ; SOURCE LINE # 116
  773.                                            ; SOURCE LINE # 117
  774. 0117 7800        R     MOV     R0,#LOW ucSyncErrorCnt
  775. 0119 E6                MOV     A,@R0
  776. 011A 6001              JZ      ?C0001
  777. 011C 16                DEC     @R0
  778.                                            ; SOURCE LINE # 119
  779.                                            ; SOURCE LINE # 120
  780. 011D         ?C0001:
  781.                                            ; SOURCE LINE # 121
  782. 011D C3                CLR     C
  783.                                            ; SOURCE LINE # 122
  784. 011E         ?C0015:
  785. 011E 22                RET     
  786. 011F         L?0071:
  787. 011F 7B01              MOV     R3,#01H
  788. 0121 7D01              MOV     R5,#01H
  789. 0123 120000      E     LCALL   _RTDRead
  790. 0126 E500        E     MOV     A,Data
  791. 0128 22                RET     
  792.              ; FUNCTION Frame_Sync_Detector (END)
  793.              ; FUNCTION AbortSync (BEGIN)
  794.                                            ; SOURCE LINE # 127
  795.                                            ; SOURCE LINE # 128
  796.                                            ; SOURCE LINE # 129
  797. 0000 750005      E     MOV     Data,#05H
  798.                                            ; SOURCE LINE # 130
  799. 0003 E4                CLR     A
  800. 0004 F500        E     MOV     Data+01H,A
  801.                                            ; SOURCE LINE # 131
  802. 0006 750022      E     MOV     Data+02H,#022H
  803.                                            ; SOURCE LINE # 132
  804. 0009 7800        E     MOV     R0,#LOW usDH_Total+01H
  805. 000B E6                MOV     A,@R0
  806. 000C F500        E     MOV     Data+03H,A
  807.                                            ; SOURCE LINE # 133
  808. 000E 18                DEC     R0
  809. 000F E6                MOV     A,@R0
  810. 0010 F500        E     MOV     Data+04H,A
  811.                                            ; SOURCE LINE # 134
  812. 0012 E4                CLR     A
  813. 0013 F500        E     MOV     Data+05H,A
  814.                                            ; SOURCE LINE # 135
  815. 0015 7F00        E     MOV     R7,#LOW Data
  816. 0017 120000      E     LCALL   _RTDWrite
  817.                                            ; SOURCE LINE # 137
  818. 001A E4                CLR     A
  819. 001B FB                MOV     R3,A
  820. 001C 7D07              MOV     R5,#07H
  821. 001E 7F2E              MOV     R7,#02EH
  822. 0020 020000      E     LJMP    _RTDSetBit
  823.              ; FUNCTION AbortSync (END)
  824.              ; FUNCTION _TestSync (BEGIN)
  825.                                            ; SOURCE LINE # 140
  826. 0000 8E00        R     MOV     offset,R6
  827. 0002 8F00        R     MOV     offset+01H,R7
  828. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 15  
  829.                                            ; SOURCE LINE # 141
  830.                                            ; SOURCE LINE # 143
  831. 0004 AD00        R     MOV     R5,offset+01H
  832. 0006 7F9A              MOV     R7,#09AH
  833. 0008 120000      E     LCALL   _RTDSetByte
  834.                                            ; SOURCE LINE # 144
  835. 000B E500        R     MOV     A,offset
  836. 000D 540F              ANL     A,#0FH
  837. 000F 4420              ORL     A,#020H
  838. 0011 FB                MOV     R3,A
  839. 0012 7DF0              MOV     R5,#0F0H
  840. 0014 7F9B              MOV     R7,#09BH
  841. 0016 120000      E     LCALL   _RTDSetBit
  842.                                            ; SOURCE LINE # 148
  843. 0019 7F08              MOV     R7,#08H
  844. 001B 120000      E     LCALL   _Wait_For_Event
  845.                                            ; SOURCE LINE # 151
  846. 001E E4                CLR     A
  847. 001F FD                MOV     R5,A
  848. 0020 7F01              MOV     R7,#01H
  849. 0022 120000      E     LCALL   _RTDSetByte
  850.                                            ; SOURCE LINE # 153
  851. 0025 7F08              MOV     R7,#08H
  852. 0027 120000      E     LCALL   _Wait_For_Event
  853.                                            ; SOURCE LINE # 162
  854. 002A 7F08              MOV     R7,#08H
  855. 002C 120000      E     LCALL   _Wait_For_Event
  856.                                            ; SOURCE LINE # 167
  857. 002F 7B01              MOV     R3,#01H
  858. 0031 7D01              MOV     R5,#01H
  859. 0033 7F01              MOV     R7,#01H
  860. 0035 120000      E     LCALL   _RTDRead
  861.                                            ; SOURCE LINE # 170
  862. 0038 E500        E     MOV     A,Data
  863. 003A 6007              JZ      ?C0019
  864.                                            ; SOURCE LINE # 171
  865. 003C E4                CLR     A
  866. 003D FD                MOV     R5,A
  867. 003E 7F01              MOV     R7,#01H
  868. 0040 120000      E     LCALL   _RTDSetByte
  869. 0043         ?C0019:
  870.                                            ; SOURCE LINE # 174
  871. 0043 E500        E     MOV     A,Data
  872. 0045 5460              ANL     A,#060H
  873. 0047 6006              JZ      ?C0020
  874.                                            ; SOURCE LINE # 175
  875.                                            ; SOURCE LINE # 176
  876. 0049 120000      R     LCALL   AbortSync
  877.                                            ; SOURCE LINE # 177
  878. 004C 7F01              MOV     R7,#01H
  879. 004E 22                RET     
  880.                                            ; SOURCE LINE # 178
  881. 004F         ?C0020:
  882.                                            ; SOURCE LINE # 180
  883. 004F 530003      E     ANL     Data,#03H
  884.                                            ; SOURCE LINE # 182
  885. 0052 7F00              MOV     R7,#00H
  886.                                            ; SOURCE LINE # 183
  887. 0054         ?C0021:
  888. 0054 22                RET     
  889.              ; FUNCTION _TestSync (END)
  890. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 16  
  891.              ; FUNCTION Frame_Sync (BEGIN)
  892.                                            ; SOURCE LINE # 192
  893.                                            ; SOURCE LINE # 193
  894.                                            ; SOURCE LINE # 195
  895. 0000 E4                CLR     A
  896. 0001 7800        R     MOV     R0,#LOW ucTemp
  897. 0003 F6                MOV     @R0,A
  898.                                            ; SOURCE LINE # 203
  899. 0004 FB                MOV     R3,A
  900. 0005 7D02              MOV     R5,#02H
  901. 0007 7F9A              MOV     R7,#09AH
  902. 0009 120000      E     LCALL   _RTDRead
  903.                                            ; SOURCE LINE # 204
  904. 000C E500        E     MOV     A,Data+01H
  905. 000E 540F              ANL     A,#0FH
  906. 0010 F500        E     MOV     Data+02H,A
  907.                                            ; SOURCE LINE # 205
  908. 0012 850000      E     MOV     Data+03H,Data
  909.                                            ; SOURCE LINE # 206
  910. 0015 7800        R     MOV     R0,#LOW usBuffer
  911. 0017 F6                MOV     @R0,A
  912. 0018 08                INC     R0
  913. 0019 A600        E     MOV     @R0,Data+03H
  914.                                            ; SOURCE LINE # 208
  915. 001B 08                INC     R0
  916. 001C A600        E     MOV     @R0,Data+02H
  917. 001E 08                INC     R0
  918. 001F A600        E     MOV     @R0,Data+03H
  919.                                            ; SOURCE LINE # 211
  920. 0021 E500        E     MOV     A,stGUD1+01H
  921. 0023 5407              ANL     A,#07H
  922. 0025 6007              JZ      ?C0024
  923. 0027 6401              XRL     A,#01H
  924. 0029 6003              JZ      $ + 5H
  925. 002B 020000      R     LJMP    ?C0022
  926.                                            ; SOURCE LINE # 212
  927. 002E         ?C0024:
  928.                                            ; SOURCE LINE # 215
  929. 002E C3                CLR     C
  930. 002F 7800        R     MOV     R0,#LOW usBuffer+01H
  931. 0031 E6                MOV     A,@R0
  932. 0032 948C              SUBB    A,#08CH
  933. 0034 18                DEC     R0
  934. 0035 E6                MOV     A,@R0
  935. 0036 9406              SUBB    A,#06H
  936. 0038 506C              JNC     ?C0025
  937.                                            ; SOURCE LINE # 217
  938.                                            ; SOURCE LINE # 218
  939. 003A E4                CLR     A
  940. 003B FB                MOV     R3,A
  941. 003C 7D02              MOV     R5,#02H
  942. 003E 7FD1              MOV     R7,#0D1H
  943. 0040 120000      E     LCALL   _RTDRead
  944.                                            ; SOURCE LINE # 219
  945. 0043 E500        E     MOV     A,Data
  946. 0045 04                INC     A
  947. 0046 FD                MOV     R5,A
  948. 0047 7FD1              MOV     R7,#0D1H
  949. 0049 120000      E     LCALL   _RTDSetByte
  950.                                            ; SOURCE LINE # 220
  951. 004C AD00        E     MOV     R5,Data+01H
  952. 004E 7FD2              MOV     R7,#0D2H
  953. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 17  
  954. 0050 120000      E     LCALL   _RTDSetByte
  955.                                            ; SOURCE LINE # 227
  956. 0053 E500        E     MOV     A,Data
  957. 0055 2402              ADD     A,#02H
  958. 0057 FF                MOV     R7,A
  959. 0058 E4                CLR     A
  960. 0059 33                RLC     A
  961. 005A FE                MOV     R6,A
  962. 005B E4                CLR     A
  963. 005C FC                MOV     R4,A
  964. 005D FD                MOV     R5,A
  965. 005E C004              PUSH    AR4
  966. 0060 A905              MOV     R1,AR5
  967. 0062 AA06              MOV     R2,AR6
  968. 0064 AB07              MOV     R3,AR7
  969. 0066 7800        R     MOV     R0,#LOW usBuffer
  970. 0068 E6                MOV     A,@R0
  971. 0069 FE                MOV     R6,A
  972. 006A 08                INC     R0
  973. 006B E6                MOV     A,@R0
  974. 006C FF                MOV     R7,A
  975. 006D E4                CLR     A
  976. 006E D000              POP     AR0
  977. 0070 120000      E     LCALL   ?C?LMUL
  978. 0073 E4                CLR     A
  979. 0074 2F                ADD     A,R7
  980. 0075 FF                MOV     R7,A
  981. 0076 EE                MOV     A,R6
  982. 0077 3480              ADDC    A,#080H
  983. 0079 FE                MOV     R6,A
  984. 007A E4                CLR     A
  985. 007B 3D                ADDC    A,R5
  986. 007C FD                MOV     R5,A
  987. 007D E4                CLR     A
  988. 007E 3C                ADDC    A,R4
  989. 007F FC                MOV     R4,A
  990. 0080 C006              PUSH    AR6
  991. 0082 C007              PUSH    AR7
  992. 0084 E500        E     MOV     A,Data
  993. 0086 2403              ADD     A,#03H
  994. 0088 FF                MOV     R7,A
  995. 0089 E4                CLR     A
  996. 008A 33                RLC     A
  997. 008B AB07              MOV     R3,AR7
  998. 008D FA                MOV     R2,A
  999. 008E E4                CLR     A
  1000. 008F F9                MOV     R1,A
  1001. 0090 F8                MOV     R0,A
  1002. 0091 D007              POP     AR7
  1003. 0093 D006              POP     AR6
  1004. 0095 120000      E     LCALL   ?C?ULDIV
  1005. 0098 7800        R     MOV     R0,#LOW usBuffer
  1006. 009A EE                MOV     A,R6
  1007. 009B F6                MOV     @R0,A
  1008. 009C 08                INC     R0
  1009. 009D EF                MOV     A,R7
  1010. 009E F6                MOV     @R0,A
  1011.                                            ; SOURCE LINE # 229
  1012. 009F 08                INC     R0
  1013. 00A0 A606              MOV     @R0,AR6
  1014. 00A2 08                INC     R0
  1015. 00A3 F6                MOV     @R0,A
  1016. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 18  
  1017.                                            ; SOURCE LINE # 231
  1018. 00A4 8088              SJMP    ?C0024
  1019. 00A6         ?C0025:
  1020.                                            ; SOURCE LINE # 251
  1021. 00A6 7480              MOV     A,#080H
  1022. 00A8 120000      R     LCALL   L?0072
  1023.                                            ; SOURCE LINE # 252
  1024. 00AB         ?C0022:
  1025.                                            ; SOURCE LINE # 254
  1026. 00AB 120000      R     LCALL   L?0067
  1027. 00AE 7800        R     MOV     R0,#LOW usBuffer
  1028. 00B0 A606              MOV     @R0,AR6
  1029. 00B2 08                INC     R0
  1030. 00B3 A607              MOV     @R0,AR7
  1031.                                            ; SOURCE LINE # 257
  1032. 00B5 E4                CLR     A
  1033. 00B6 7800        R     MOV     R0,#LOW ucFine
  1034. 00B8 F6                MOV     @R0,A
  1035. 00B9         ?C0026:
  1036.                                            ; SOURCE LINE # 258
  1037.                                            ; SOURCE LINE # 259
  1038. 00B9 120000      R     LCALL   L?0067
  1039. 00BC 120000      R     LCALL   _TestSync
  1040. 00BF EF                MOV     A,R7
  1041. 00C0 6003              JZ      ?C0029
  1042. 00C2 7F02              MOV     R7,#02H
  1043. 00C4 22                RET     
  1044. 00C5         ?C0029:
  1045.                                            ; SOURCE LINE # 261
  1046. 00C5 E500        E     MOV     A,Data
  1047. 00C7 5403              ANL     A,#03H
  1048. 00C9 FF                MOV     R7,A
  1049. 00CA 6026              JZ      ?C0031
  1050.                                            ; SOURCE LINE # 262
  1051.                                            ; SOURCE LINE # 263
  1052. 00CC E500        E     MOV     A,Data
  1053. 00CE 7800        R     MOV     R0,#LOW usDelta+01H
  1054. 00D0 30E10B            JNB     ACC.1,?C0032
  1055. 00D3 E6                MOV     A,@R0
  1056. 00D4 24E0              ADD     A,#0E0H
  1057. 00D6 FD                MOV     R5,A
  1058. 00D7 18                DEC     R0
  1059. 00D8 E6                MOV     A,@R0
  1060. 00D9 34FF              ADDC    A,#0FFH
  1061. 00DB FC                MOV     R4,A
  1062. 00DC 8008              SJMP    ?C0033
  1063. 00DE         ?C0032:
  1064. 00DE E6                MOV     A,@R0
  1065. 00DF 2420              ADD     A,#020H
  1066. 00E1 FD                MOV     R5,A
  1067. 00E2 18                DEC     R0
  1068. 00E3 E4                CLR     A
  1069. 00E4 36                ADDC    A,@R0
  1070. 00E5 FC                MOV     R4,A
  1071. 00E6         ?C0033:
  1072. 00E6 7800        R     MOV     R0,#LOW usDelta
  1073. 00E8 A604              MOV     @R0,AR4
  1074. 00EA 08                INC     R0
  1075. 00EB A605              MOV     @R0,AR5
  1076.                                            ; SOURCE LINE # 264
  1077. 00ED 7800        R     MOV     R0,#LOW ucTemp
  1078. 00EF 06                INC     @R0
  1079. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 19  
  1080.                                            ; SOURCE LINE # 265
  1081. 00F0 8003              SJMP    ?C0028
  1082. 00F2         ?C0031:
  1083.                                            ; SOURCE LINE # 266
  1084. 00F2 EF                MOV     A,R7
  1085. 00F3 6009              JZ      ?C0027
  1086.                                            ; SOURCE LINE # 267
  1087.                                            ; SOURCE LINE # 268
  1088. 00F5         ?C0028:
  1089. 00F5 7800        R     MOV     R0,#LOW ucFine
  1090. 00F7 06                INC     @R0
  1091. 00F8 E6                MOV     A,@R0
  1092. 00F9 C3                CLR     C
  1093. 00FA 940E              SUBB    A,#0EH
  1094. 00FC 40BB              JC      ?C0026
  1095. 00FE         ?C0027:
  1096.                                            ; SOURCE LINE # 270
  1097. 00FE E500        E     MOV     A,Data
  1098. 0100 5403              ANL     A,#03H
  1099. 0102 6003              JZ      ?C0036
  1100.                                            ; SOURCE LINE # 271
  1101. 0104 7F01              MOV     R7,#01H
  1102. 0106 22                RET     
  1103. 0107         ?C0036:
  1104.                                            ; SOURCE LINE # 273
  1105. 0107 120000      R     LCALL   L?0068
  1106. 010A C3                CLR     C
  1107. 010B 7800        R     MOV     R0,#LOW usBuffer+01H
  1108. 010D 96                SUBB    A,@R0
  1109. 010E EE                MOV     A,R6
  1110. 010F 18                DEC     R0
  1111. 0110 96                SUBB    A,@R0
  1112. 0111 5020              JNC     ?C0038
  1113.                                            ; SOURCE LINE # 274
  1114.                                            ; SOURCE LINE # 276
  1115. 0113 EF                MOV     A,R7
  1116. 0114 24FC              ADD     A,#0FCH
  1117. 0116 FF                MOV     R7,A
  1118. 0117 EE                MOV     A,R6
  1119. 0118 34FF              ADDC    A,#0FFH
  1120. 011A FE                MOV     R6,A
  1121. 011B 120000      R     LCALL   _TestSync
  1122. 011E EF                MOV     A,R7
  1123. 011F 6003              JZ      ?C0039
  1124. 0121 7F02              MOV     R7,#02H
  1125. 0123 22                RET     
  1126. 0124         ?C0039:
  1127.                                            ; SOURCE LINE # 278
  1128. 0124 E500        E     MOV     A,Data
  1129. 0126 5403              ANL     A,#03H
  1130. 0128 6002              JZ      ?C0040
  1131.                                            ; SOURCE LINE # 279
  1132. 012A 8020              SJMP    ?C0065
  1133. 012C         ?C0040:
  1134.                                            ; SOURCE LINE # 281
  1135. 012C 74FE              MOV     A,#0FEH
  1136. 012E 120000      R     LCALL   L?0072
  1137.                                            ; SOURCE LINE # 283
  1138. 0131 802B              SJMP    ?C0037
  1139. 0133         ?C0038:
  1140.                                            ; SOURCE LINE # 285
  1141.                                            ; SOURCE LINE # 287
  1142. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 20  
  1143. 0133 7800        R     MOV     R0,#LOW usDelta+01H
  1144. 0135 E6                MOV     A,@R0
  1145. 0136 2404              ADD     A,#04H
  1146. 0138 FF                MOV     R7,A
  1147. 0139 18                DEC     R0
  1148. 013A E4                CLR     A
  1149. 013B 36                ADDC    A,@R0
  1150. 013C FE                MOV     R6,A
  1151. 013D 120000      R     LCALL   _TestSync
  1152. 0140 EF                MOV     A,R7
  1153. 0141 6003              JZ      ?C0043
  1154. 0143 7F02              MOV     R7,#02H
  1155. 0145 22                RET     
  1156. 0146         ?C0043:
  1157.                                            ; SOURCE LINE # 289
  1158. 0146 E500        E     MOV     A,Data
  1159. 0148 5403              ANL     A,#03H
  1160. 014A 6008              JZ      ?C0044
  1161.                                            ; SOURCE LINE # 290
  1162. 014C         ?C0065:
  1163. 014C 120000      R     LCALL   L?0068
  1164. 014F 120000      R     LCALL   _TestSync
  1165. 0152 800A              SJMP    ?C0037
  1166. 0154         ?C0044:
  1167.                                            ; SOURCE LINE # 292
  1168. 0154 7800        R     MOV     R0,#LOW usDelta+01H
  1169. 0156 7402              MOV     A,#02H
  1170. 0158 26                ADD     A,@R0
  1171. 0159 F6                MOV     @R0,A
  1172. 015A 18                DEC     R0
  1173. 015B E4                CLR     A
  1174. 015C 36                ADDC    A,@R0
  1175. 015D F6                MOV     @R0,A
  1176.                                            ; SOURCE LINE # 293
  1177. 015E         ?C0037:
  1178.                                            ; SOURCE LINE # 419
  1179. 015E 7B60              MOV     R3,#060H
  1180. 0160 7D0F              MOV     R5,#0FH
  1181. 0162 7F99              MOV     R7,#099H
  1182. 0164 120000      E     LCALL   _RTDSetBit
  1183.                                            ; SOURCE LINE # 420
  1184. 0167 900000      E     MOV     DPTR,#DCLK_OFFSET+06H
  1185. 016A 120000      R     LCALL   L?0069
  1186. 016D FE                MOV     R6,A
  1187. 016E 120000      R     LCALL   _TestSync
  1188. 0171 EF                MOV     A,R7
  1189. 0172 6003              JZ      ?C0046
  1190.                                            ; SOURCE LINE # 421
  1191. 0174 7F02              MOV     R7,#02H
  1192. 0176 22                RET     
  1193. 0177         ?C0046:
  1194.                                            ; SOURCE LINE # 423
  1195. 0177 E500        E     MOV     A,Data
  1196. 0179 5403              ANL     A,#03H
  1197. 017B 6033              JZ      ?C0047
  1198.                                            ; SOURCE LINE # 424
  1199.                                            ; SOURCE LINE # 425
  1200. 017D E500        E     MOV     A,Data
  1201. 017F 900000      E     MOV     DPTR,#DCLK_OFFSET+06H
  1202. 0182 30E10C            JNB     ACC.1,?C0049
  1203. 0185 120000      R     LCALL   L?0069
  1204. 0188 CF                XCH     A,R7
  1205. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 21  
  1206. 0189 24FF              ADD     A,#0FFH
  1207. 018B CF                XCH     A,R7
  1208. 018C 34FF              ADDC    A,#0FFH
  1209. 018E FE                MOV     R6,A
  1210. 018F 800A              SJMP    ?C0050
  1211. 0191         ?C0049:
  1212. 0191 120000      R     LCALL   L?0070
  1213. 0194 CF                XCH     A,R7
  1214. 0195 2401              ADD     A,#01H
  1215. 0197 CF                XCH     A,R7
  1216. 0198 3400              ADDC    A,#00H
  1217. 019A FE                MOV     R6,A
  1218. 019B         ?C0050:
  1219. 019B 120000      R     LCALL   _TestSync
  1220. 019E EF                MOV     A,R7
  1221. 019F 6003              JZ      ?C0048
  1222.                                            ; SOURCE LINE # 427
  1223. 01A1 7F02              MOV     R7,#02H
  1224. 01A3 22                RET     
  1225. 01A4         ?C0048:
  1226.                                            ; SOURCE LINE # 429
  1227.                                            ; SOURCE LINE # 430
  1228. 01A4 E500        E     MOV     A,Data
  1229. 01A6 5403              ANL     A,#03H
  1230. 01A8 6003              JZ      ?C0052
  1231.                                            ; SOURCE LINE # 431
  1232. 01AA 7F01              MOV     R7,#01H
  1233. 01AC 22                RET     
  1234. 01AD         ?C0052:
  1235.                                            ; SOURCE LINE # 433
  1236. 01AD 7F00              MOV     R7,#00H
  1237. 01AF 22                RET     
  1238.                                            ; SOURCE LINE # 434
  1239.                                            ; SOURCE LINE # 436
  1240. 01B0         ?C0047:
  1241.                                            ; SOURCE LINE # 440
  1242. 01B0 7F00              MOV     R7,#00H
  1243.                                            ; SOURCE LINE # 443
  1244. 01B2         ?C0030:
  1245. 01B2 22                RET     
  1246.              ; FUNCTION Frame_Sync (END)
  1247.              ; FUNCTION Adjust_I_Code (BEGIN)
  1248.                                            ; SOURCE LINE # 448
  1249.                                            ; SOURCE LINE # 449
  1250.                                            ; SOURCE LINE # 451
  1251. 0000 7800        E     MOV     R0,#LOW usHsync
  1252. 0002 E6                MOV     A,@R0
  1253. 0003 FC                MOV     R4,A
  1254. 0004 08                INC     R0
  1255. 0005 E6                MOV     A,@R0
  1256. 0006 FD                MOV     R5,A
  1257. 0007 7E60              MOV     R6,#060H
  1258. 0009 7F00              MOV     R7,#00H
  1259. 000B 120000      E     LCALL   ?C?UIDIV
  1260. 000E 8E00        E     MOV     Data,R6
  1261. 0010 8F00        E     MOV     Data+01H,R7
  1262.                                            ; SOURCE LINE # 455
  1263. 0012 7800        R     MOV     R0,#LOW ucI_Code
  1264. 0014 760E              MOV     @R0,#0EH
  1265.                                            ; SOURCE LINE # 456
  1266. 0016 7800        E     MOV     R0,#LOW ucCE_Value
  1267. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 22  
  1268. 0018 E6                MOV     A,@R0
  1269. 0019 FF                MOV     R7,A
  1270. 001A E4                CLR     A
  1271. 001B FC                MOV     R4,A
  1272. 001C FD                MOV     R5,A
  1273. 001D FE                MOV     R6,A
  1274. 001E 7BF8              MOV     R3,#0F8H
  1275. 0020 7A30              MOV     R2,#030H
  1276. 0022 7906              MOV     R1,#06H
  1277. 0024 7803              MOV     R0,#03H
  1278. 0026 120000      E     LCALL   ?C?LMUL
  1279. 0029 C006              PUSH    AR6
  1280. 002B C007              PUSH    AR7
  1281. 002D AE00        E     MOV     R6,Data
  1282. 002F AF00        E     MOV     R7,Data+01H
  1283. 0031 AB07              MOV     R3,AR7
  1284. 0033 AA06              MOV     R2,AR6
  1285. 0035 E4                CLR     A
  1286. 0036 F9                MOV     R1,A
  1287. 0037 F8                MOV     R0,A
  1288. 0038 D007              POP     AR7
  1289. 003A D006              POP     AR6
  1290. 003C 120000      E     LCALL   ?C?ULDIV
  1291. 003F 7814              MOV     R0,#014H
  1292. 0041 120000      E     LCALL   ?C?ULSHR
  1293. 0044 8F00        E     MOV     Data+02H,R7
  1294.                                            ; SOURCE LINE # 457
  1295. 0046 750004      E     MOV     Data+03H,#04H
  1296. 0049         ?C0054:
  1297.                                            ; SOURCE LINE # 460
  1298.                                            ; SOURCE LINE # 461
  1299.                                            ; SOURCE LINE # 463
  1300. 0049 E500        E     MOV     A,Data+02H
  1301. 004B D3                SETB    C
  1302. 004C 9500        E     SUBB    A,Data+03H
  1303. 004E 4011              JC      ?C0056
  1304.                                            ; SOURCE LINE # 464
  1305.                                            ; SOURCE LINE # 465
  1306. 0050 E500        E     MOV     A,Data+02H
  1307. 0052 13                RRC     A
  1308. 0053 F500        E     MOV     Data+02H,A
  1309.                                            ; SOURCE LINE # 466
  1310. 0055 7800        R     MOV     R0,#LOW ucI_Code
  1311. 0057 16                DEC     @R0
  1312.                                            ; SOURCE LINE # 468
  1313. 0058 E500        E     MOV     A,Data+02H
  1314. 005A D3                SETB    C
  1315. 005B 9500        E     SUBB    A,Data+03H
  1316. 005D 50EA              JNC     ?C0054
  1317.                                            ; SOURCE LINE # 469
  1318. 005F 801E              SJMP    ?C0055
  1319.                                            ; SOURCE LINE # 470
  1320. 0061         ?C0056:
  1321.                                            ; SOURCE LINE # 472
  1322.                                            ; SOURCE LINE # 473
  1323. 0061 E500        E     MOV     A,Data+02H
  1324. 0063 25E0              ADD     A,ACC
  1325. 0065 FF                MOV     R7,A
  1326. 0066 E4                CLR     A
  1327. 0067 33                RLC     A
  1328. 0068 FE                MOV     R6,A
  1329. 0069 D3                SETB    C
  1330. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 23  
  1331. 006A EF                MOV     A,R7
  1332. 006B 9500        E     SUBB    A,Data+03H
  1333. 006D 7480              MOV     A,#080H
  1334. 006F F8                MOV     R0,A
  1335. 0070 6E                XRL     A,R6
  1336. 0071 98                SUBB    A,R0
  1337. 0072 500B              JNC     ?C0055
  1338.                                            ; SOURCE LINE # 474
  1339. 0074         ?C0059:
  1340.                                            ; SOURCE LINE # 476
  1341.                                            ; SOURCE LINE # 477
  1342. 0074 E500        E     MOV     A,Data+02H
  1343. 0076 25E0              ADD     A,ACC
  1344. 0078 F500        E     MOV     Data+02H,A
  1345.                                            ; SOURCE LINE # 478
  1346. 007A 7800        R     MOV     R0,#LOW ucI_Code
  1347. 007C 06                INC     @R0
  1348.                                            ; SOURCE LINE # 479
  1349.                                            ; SOURCE LINE # 480
  1350.                                            ; SOURCE LINE # 481
  1351. 007D 80CA              SJMP    ?C0054
  1352. 007F         ?C0055:
  1353.                                            ; SOURCE LINE # 485
  1354. 007F AF00        E     MOV     R7,Data+02H
  1355. 0081 7E00              MOV     R6,#00H
  1356. 0083 7C00              MOV     R4,#00H
  1357. 0085 7D03              MOV     R5,#03H
  1358. 0087 120000      E     LCALL   ?C?IMUL
  1359. 008A EE                MOV     A,R6
  1360. 008B C3                CLR     C
  1361. 008C 13                RRC     A
  1362. 008D EF                MOV     A,R7
  1363. 008E 13                RRC     A
  1364. 008F D3                SETB    C
  1365. 0090 9500        E     SUBB    A,Data+03H
  1366. 0092 5006              JNC     ?C0063
  1367.                                            ; SOURCE LINE # 486
  1368.                                            ; SOURCE LINE # 487
  1369. 0094 7800        R     MOV     R0,#LOW ucI_Code
  1370. 0096 E6                MOV     A,@R0
  1371. 0097 4480              ORL     A,#080H
  1372. 0099 F6                MOV     @R0,A
  1373.                                            ; SOURCE LINE # 489
  1374.                                            ; SOURCE LINE # 491
  1375.                                            ; SOURCE LINE # 493
  1376.                                            ; SOURCE LINE # 496
  1377. 009A         ?C0063:
  1378. 009A 22                RET     
  1379.              ; FUNCTION Adjust_I_Code (END)
  1380. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 24  
  1381. NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
  1382. ====                                    =====   ======  ====    ======  ====
  1383. LP_GLOBAL_USER_DATA1 . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1384. RGB_MODE_USER_DATA . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  4
  1385.   H_POSITION . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1386.   V_POSITION . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1387.   CLOCK. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1388.   PHASE. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1389. LP_GLOBAL_USER_DATA2 . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1390. ucI_Code . . . . . . . . . . . . . . .  PUBLIC   IDATA  U_CHAR   0000H  1
  1391. LP_GLOBAL_USER_DATA3 . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1392. GLOBAL_USER_DATA0. . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  8
  1393.   CONTRAST . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1394.   BRIGHT . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1395.   RTD_R_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1396.   RTD_G_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1397.   RTD_B_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1398.   RTD_R_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1399.   RTD_G_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1400.   RTD_B_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1401. bNotify_Timer0_Int . . . . . . . . . .  EXTERN   DATA   BIT      -----  1
  1402. LP_GLOABL_USER_DATA4 . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1403. GLOBAL_USER_DATA1. . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  8
  1404.   FUNCTION . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1405.   INPUT_SOURCE . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1406.   FILTER . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1407.   OSD_POSH . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0003H  2
  1408.   OSD_POSV . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1409.   OSD_TIMEOUT. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1410.   OSD_INPUT. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1411. _Set_Task. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1412. GLOBAL_USER_DATA2. . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  6
  1413.   AD_R_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1414.   AD_G_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1415.   AD_B_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1416.   AD_R_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1417.   AD_G_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1418.   AD_B_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1419. GLOBAL_USER_DATA3. . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  5
  1420.   VOLUME . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1421.   CURR_CHANNEL . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1422.   PREV_CHANNEL . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1423.   TV_SETTING . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1424.   SPREAD . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1425. GLOBAL_USER_DATA4. . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  9
  1426.   C1_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1427.   C1_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1428.   C1_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1429.   C2_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1430.   C2_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1431.   C2_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1432.   C3_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1433.   C3_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1434.   C3_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0008H  1
  1435. ucModeCnt. . . . . . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
  1436. Frame_Sync_Detector. . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  1437. _RTDSetByte. . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1438. _RTDSetBit . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1439. LP_VIDEO_MODE_USER_DATA. . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1440. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 25  
  1441. NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
  1442. ====                                    =====   ======  ====    ======  ====
  1443. AbortSync. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  1444. VIDEO_MODE_USER_DATA . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  4
  1445.   VBRIGHT. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1446.   VCONTRAST. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1447.   VSATURATION. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1448.   VHUE . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1449. _TestSync. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  1450.   offset . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2
  1451. ucP_Corr . . . . . . . . . . . . . . .  PUBLIC   IDATA  U_CHAR   0001H  1
  1452. ucSyncErrorCnt . . . . . . . . . . . .  PUBLIC   IDATA  U_CHAR   0002H  1
  1453. bStable. . . . . . . . . . . . . . . .  EXTERN   DATA   BIT      -----  1
  1454. ucCE_Value . . . . . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
  1455. DCLK_OFFSET. . . . . . . . . . . . . .  EXTERN   CODE   ARRAY    -----  16
  1456. _RTDRead . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1457. ucPE_Level . . . . . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
  1458. _RTDWrite. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1459. bPower_Status. . . . . . . . . . . . .  EXTERN   DATA   BIT      -----  1
  1460. usDH_Total . . . . . . . . . . . . . .  EXTERN   IDATA  U_INT    -----  2
  1461. ucMode_Curr. . . . . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
  1462. _RGB_MODE_USER_DATA. . . . . . . . . .  * TAG *  -----  STRUCT   -----  4
  1463.   H_POSITION . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1464.   V_POSITION . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1465.   CLOCK. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1466.   PHASE. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1467. _GLOBAL_USER_DATA0 . . . . . . . . . .  * TAG *  -----  STRUCT   -----  8
  1468.   CONTRAST . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1469.   BRIGHT . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1470.   RTD_R_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1471.   RTD_G_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1472.   RTD_B_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1473.   RTD_R_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1474.   RTD_G_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1475.   RTD_B_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1476. _GLOBAL_USER_DATA1 . . . . . . . . . .  * TAG *  -----  STRUCT   -----  8
  1477.   FUNCTION . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1478.   INPUT_SOURCE . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1479.   FILTER . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1480.   OSD_POSH . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0003H  2
  1481.   OSD_POSV . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1482.   OSD_TIMEOUT. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1483.   OSD_INPUT. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1484. ucStatus . . . . . . . . . . . . . . .  PUBLIC   IDATA  U_CHAR   0003H  1
  1485. _GLOBAL_USER_DATA2 . . . . . . . . . .  * TAG *  -----  STRUCT   -----  6
  1486.   AD_R_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1487.   AD_G_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1488.   AD_B_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1489.   AD_R_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1490.   AD_G_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1491.   AD_B_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1492. _GLOBAL_USER_DATA3 . . . . . . . . . .  * TAG *  -----  STRUCT   -----  5
  1493.   VOLUME . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1494.   CURR_CHANNEL . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1495.   PREV_CHANNEL . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1496.   TV_SETTING . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1497.   SPREAD . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1498. _GLOBAL_USER_DATA4 . . . . . . . . . .  * TAG *  -----  STRUCT   -----  9
  1499.   C1_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1500. C51 COMPILER V7.06   FRAME_SYNC                                                            11/21/2005 13:47:25 PAGE 26  
  1501. NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
  1502. ====                                    =====   ======  ====    ======  ====
  1503.   C1_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1504.   C1_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1505.   C2_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1506.   C2_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1507.   C2_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1508.   C3_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1509.   C3_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1510.   C3_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0008H  1
  1511. _Wait_For_Event. . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1512. _Delay_Xms . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1513. Reset_Mode . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1514. Frame_Sync . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  1515.   usBuffer . . . . . . . . . . . . . .  AUTO     IDATA  U_INT    0000H  2
  1516.   usDelta. . . . . . . . . . . . . . .  AUTO     IDATA  U_INT    0002H  2
  1517.   ucFine . . . . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0004H  1
  1518.   ucTemp . . . . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0005H  1
  1519. bFrameSync . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
  1520. usHsync. . . . . . . . . . . . . . . .  EXTERN   IDATA  U_INT    -----  2
  1521. Adjust_I_Code. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  1522. ucPE_Max . . . . . . . . . . . . . . .  PUBLIC   IDATA  U_CHAR   0004H  1
  1523. stGUD1 . . . . . . . . . . . . . . . .  EXTERN   DATA   STRUCT   -----  8
  1524. Data . . . . . . . . . . . . . . . . .  EXTERN   DATA   ARRAY    -----  16
  1525. _VIDEO_MODE_USER_DATA. . . . . . . . .  * TAG *  -----  STRUCT   -----  4
  1526.   VBRIGHT. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1527.   VCONTRAST. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1528.   VSATURATION. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1529.   VHUE . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1530. LP_RGB_MODE_USER_DATA. . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1531. LP_GLOBAL_USER_DATA0 . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1532. MODULE INFORMATION:   STATIC OVERLAYABLE
  1533.    CODE SIZE        =   1035    ----
  1534.    CONSTANT SIZE    =   ----    ----
  1535.    XDATA SIZE       =   ----    ----
  1536.    PDATA SIZE       =   ----    ----
  1537.    DATA SIZE        =   ----       2
  1538.    IDATA SIZE       =      5       6
  1539.    BIT SIZE         =      1    ----
  1540. END OF MODULE INFORMATION.
  1541. C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)