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

C/C++

  1. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 1   
  2. C51 COMPILER V7.06, COMPILATION OF MODULE LCD_MSG
  3. OBJECT MODULE PLACED IN .OutputLcd_msg.obj
  4. COMPILER INVOKED BY: C:KeilC51BINC51.EXE CodeLcd_msg.c OPTIMIZE(9,SPEED) BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS PRI
  5.                     -NT(.OutputLcd_msg.lst) PREPRINT(.OutputLcd_msg.i) OBJECT(.OutputLcd_msg.obj)
  6. stmt level    source
  7.    1          #define __MESSAGE__
  8.    2          
  9.    3          #include "reg52.h"
  10.    4          
  11.    5          #include "HeaderMAIN_DEF.H"
  12.    6          #include "HeaderCONFIG.H"
  13.    7          #include "HeaderACCESS.H"
  14.    8          #include "HeaderLCD_FUNC.H"
  15.    9          #include "HeaderLCD_MSG.H"
  16.   10          #include "HeaderLCD_MAIN.H"
  17.   11          #include "HeaderLCD_OSD.H"
  18.   12          #include "HeaderMTV512.H"
  19.   13          #include "HeaderOSD.H"
  20.   14          #include "HeaderFONT.H"
  21.   15          #include "HeaderSRC_CTRL.H"
  22.   16          #include "HeaderFRAME_SYNC.H"
  23.   17          #include "Headerrgb_echo.H"
  24.   18          
  25.   19          unsigned char GetKeyState(void)
  26.   20          {
  27.   21   1      /*              //anson 050519
  28.   22   1      #if(MCU_TYPE == MCU_WINBOND)
  29.   23   1      
  30.   24   1          unsigned char   ucKeyState;
  31.   25   1      
  32.   26   1      #if (BOARD_TYPE == QA_PCB || BOARD_TYPE == DEMO_LVDS_A || KINGMICE)
  33.   27   1      
  34.   28   1          ucKeyState  = bPOWER_KEY ? P3 | (IR_KEY_MASK | POWER_KEY_MASK) : (P3 | IR_KEY_MASK) & (0xff ^ POWER_KE
  35.              -Y_MASK);
  36.   29   1      #elif(BOARD_TYPE == DEMO1_PCB)
  37.   30   1         ucKeyState  = bPOWER_KEY ? P1 | (IR_KEY_MASK | POWER_KEY_MASK) : (P1 | IR_KEY_MASK) & (0xff ^ POWER_KEY
  38.              -_MASK);
  39.   31   1      #else
  40.   32   1              ucKeyState  = (P3 & 0x40) | (P1 & 0x1b) | IR_KEY_MASK;
  41.   33   1      #endif
  42.   34   1      
  43.   35   1      #if (IRPOLLING)
  44.   36   1          {
  45.   37   1          //    unsigned char   ucIR_Curr;
  46.   38   1              
  47.   39   1              // You cannot respond to ucIR_Cmd[0] when IR command decoding (1 < ucIR_State).
  48.   40   1              // Because ucIR_Cmd[0] is not a constant during command decoding.
  49.   41   1              Data[0]   = (1 < ucIR_State) ? 0 : ucIR_Cmd[0];
  50.   42   1      
  51.   43   1              if (Data[0])
  52.   44   1              {
  53.   45   1                  switch (Data[0])
  54.   46   1                  {
  55.   47   1      #if (POWER_KEY_TYPE == TYPE_ONE_TOUCH)
  56.   48   1                  // Only when power-key is one-touch style, you can use IR remote controller to switch power on
  57.              -/off
  58.   49   1                  case IR_POWER_KEY :     ucKeyState  &= (0xff ^ POWER_KEY_MASK);     break;
  59.   50   1      #endif
  60.   51   1                  // Use IR to implement standard key
  61. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 2   
  62.   52   1                  case IR_LEFT_KEY :      ucKeyState  &= (0xff ^ LEFT_KEY_MASK);      break;
  63.   53   1                  case IR_RIGHT_KEY :     ucKeyState  &= (0xff ^ RIGHT_KEY_MASK);     break;
  64.   54   1                  case IR_ENTER_KEY :     ucKeyState  &= (0xff ^ ENTER_KEY_MASK);     break;
  65.   55   1                  // Other IR function key
  66.   56   1                  default :        
  67.   57   1                      ucKeyState  &= (0xff ^ IR_KEY_MASK);
  68.   58   1      
  69.   59   1      #if (TV_CHIP != TV_NONE)
  70.   60   1                      switch (Data[0])
  71.   61   1                      {
  72.   62   1                      case IR_FUNC_SOURCE :   Data[0] = NOTIFY_IR_SOURCE;     break;
  73.   63   1                      case IR_FUNC_DISP :     Data[0] = NOTIFY_IR_DISP;       break;
  74.   64   1                      case IR_FUNC_JUMP :     Data[0] = NOTIFY_IR_JUMP;       break;
  75.   65   1                      case IR_FUNC_CHDEC :    Data[0] = NOTIFY_IR_CHDEC;      break;
  76.   66   1                      case IR_FUNC_CHINC :    Data[0] = NOTIFY_IR_CHINC;      break;
  77.   67   1                      case IR_FUNC_VOLINC :   Data[0] = NOTIFY_IR_VOLINC;     break;
  78.   68   1                      case IR_FUNC_VOLDEC :   Data[0] = NOTIFY_IR_VOLDEC;     break;
  79.   69   1                      case IR_FUNC_MENU :     Data[0] = NOTIFY_IR_MENU;       break;
  80.   70   1                      case IR_FUNC_ENTER :    Data[0] = NOTIFY_IR_ENTER;      break;
  81.   71   1                      case IR_FUNC_MUTE :     Data[0] = NOTIFY_IR_MUTE;       break;
  82.   72   1                      case IR_FUNC_NUM0 :     Data[0] = NOTIFY_IR_NUM0;       break;
  83.   73   1                      case IR_FUNC_NUM1 :     Data[0] = NOTIFY_IR_NUM1;       break;
  84.   74   1                      case IR_FUNC_NUM2 :     Data[0] = NOTIFY_IR_NUM2;       break;
  85.   75   1                      case IR_FUNC_NUM3 :     Data[0] = NOTIFY_IR_NUM3;       break;
  86.   76   1                      case IR_FUNC_NUM4 :     Data[0] = NOTIFY_IR_NUM4;       break;
  87.   77   1                      case IR_FUNC_NUM5 :     Data[0] = NOTIFY_IR_NUM5;       break;
  88.   78   1                      case IR_FUNC_NUM6 :     Data[0] = NOTIFY_IR_NUM6;       break;
  89.   79   1                      case IR_FUNC_NUM7 :     Data[0] = NOTIFY_IR_NUM7;       break;
  90.   80   1                      case IR_FUNC_NUM8 :     Data[0] = NOTIFY_IR_NUM8;       break;
  91.   81   1                      case IR_FUNC_NUM9 :     Data[0] = NOTIFY_IR_NUM9;       break;
  92.   82   1                      default :               ucKeyState  |= IR_KEY_MASK;     break;
  93.   83   1                      }
  94.   84   1      #endif
  95.   85   1                      break;
  96.   86   1                  }
  97.   87   1              }
  98.   88   1          }
  99.   89   1      #endif
  100.   90   1          
  101.   91   1          return ((ucKeyState & ALL_KEY_MASK) | KEY_DISABLED) ^ ALL_KEY_MASK;
  102.   92   1      #else
  103.   93   1      */              //anson 050519
  104.   94   1      unsigned char ucKeyState=0;
  105.   95   1      
  106.   96   1              if(!bRIGHT_KEY)
  107.   97   1                        ucKeyState=ucKeyState|RIGHT_KEY_MASK;
  108.   98   1              if(!bLEFT_KEY)
  109.   99   1                        ucKeyState=ucKeyState|LEFT_KEY_MASK;
  110.  100   1              if(!bENTER_KEY)
  111.  101   1                        ucKeyState=ucKeyState|ENTER_KEY_MASK;
  112.  102   1      //        if(!bMENU_KEY)
  113.  103   1      //                ucKeyState=ucKeyState|MENU_KEY_MASK;
  114.  104   1              if(!bPOWER_KEY)
  115.  105   1                        ucKeyState=ucKeyState|POWER_KEY_MASK;
  116.  106   1              if(!bAUTO_KEY)
  117.  107   1                        ucKeyState=ucKeyState|AUTO_KEY_MASK;
  118.  108   1      
  119.  109   1              return ucKeyState;
  120.  110   1      
  121.  111   1      //#endif                        //anson 050519
  122.  112   1      }
  123.  113          
  124. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 3   
  125.  114          // Key_Trans() is used for generating key related messages, including OSD timout message.
  126.  115          // You can just issue the message or execute system default function, like changing input source.
  127.  116          
  128.  117          // BE CAREFUL !! YOU CANNOT CHANGE ANY OSD STATUS REGISTERS OR CALL ANY OSD PROCESS HERE !!
  129.  118          // You should not expect OSD_Proc() can always receive your message.
  130.  119          // Because main program will shield OSD process from been triggered when input signal isn't stable,
  131.  120          // and terminate OSD process when input source is changed.
  132.  121          unsigned char Key_Trans()
  133.  122          {
  134.  123   1          static unsigned char    idata   ucP3_Prev       = 0;
  135.  124   1          static unsigned char    idata   ucP3_Curr       = 0;
  136.  125   1          static unsigned char    idata   ucKey_Repeat    = 0;
  137.  126   1      
  138.  127   1          unsigned char   ucNotify    = NOTIFY_NONE;
  139.  128   1      
  140.  129   1          // Save the previous key status
  141.  130   1          ucP3_Prev   = ucP3_Curr;
  142.  131   1          // Sample the current key status
  143.  132   1          ucP3_Curr   = GetKeyState();
  144.  133   1      
  145.  134   1      #if (POWER_KEY_TYPE == TYPE_TWO_STATE)
  146.                       // We MUST handle power-key first.
  147.                       if (bPower_Status)
  148.                       {
  149.                               if (ucP3_Curr & POWER_KEY_MASK)
  150.                                       ucP3_Curr   ^= POWER_KEY_MASK;  // Go further to handle other keys (and mask power-key)
  151.                               else
  152.                               {
  153.                                       Delay_Xms(20);
  154.               
  155.                                       ucP3_Prev   = ucP3_Curr;
  156.                                       ucP3_Curr   = GetKeyState();
  157.               
  158.                                       if (ucP3_Curr & POWER_KEY_MASK)
  159.                                               ucP3_Curr   ^= POWER_KEY_MASK;  // Go further to handle other keys (and mask power-key)
  160.                                       else
  161.                                               return  NOTIFY_POWERDOWN;
  162.                               }
  163.                       }
  164.                       else
  165.                       {
  166.                               if (ucP3_Curr & POWER_KEY_MASK)
  167.                               {
  168.                                       ucKey_Issued    = 0;
  169.               
  170.                                       Delay_Xms(20);
  171.               
  172.                                       ucP3_Prev   = ucP3_Curr;
  173.                                       ucP3_Curr   = GetKeyState();
  174.               
  175.                                       if (ucP3_Curr & POWER_KEY_MASK)
  176.                                               return NOTIFY_POWERUP;
  177.                                       else
  178.                                               return NOTIFY_NONE;
  179.                               }
  180.                               else
  181.                                       return NOTIFY_NONE;
  182.                       }
  183.               
  184.               #else   // POWER_KEY_TYPE is TYPE_ONE_TOUCH
  185.  174   1      
  186.  175   1              if (bPower_Status)
  187. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 4   
  188.  176   1              {
  189.  177   2                      if (POWER_KEY_MASK & ucP3_Curr)
  190.  178   2                      {
  191.  179   3                              if ((ucP3_Prev ^ ucP3_Curr) & POWER_KEY_MASK)
  192.  180   3                              {
  193.  181   4                                      Delay_Xms(20);
  194.  182   4      
  195.  183   4                                      ucP3_Curr   = GetKeyState();
  196.  184   4      
  197.  185   4                                      if ((ucP3_Prev ^ ucP3_Curr) & POWER_KEY_MASK)   
  198.  186   4                                      {
  199.  187   5                                              if(((stGUD3.TV_SETTING & 0x08)==0x08) || ((stGUD3.TV_SETTING & 0x20)==0x20 ))  //anson  
  200.  188   5                                              {
  201.  189   6                                                      stGUD3.TV_SETTING &= 0xF7 ;  //anson Factory bit=0
  202.  190   6                                                      Save_GUD3();            //anson
  203.  191   6                                              }
  204.  192   5                                              return NOTIFY_POWERDOWN;
  205.  193   5                                      }
  206.  194   4                                      else
  207.  195   4                                              return NOTIFY_NONE;
  208.  196   4                              }
  209.  197   3                      }
  210.  198   2              }
  211.  199   1              else
  212.  200   1              {
  213.  201   2                      if ((RIGHT_KEY_MASK| POWER_KEY_MASK ) == ucP3_Curr)             //anson
  214.  202   2                      {
  215.  203   3                              stGUD3.TV_SETTING |= 0x08;//Factory mode
  216.  204   3                              Save_GUD3();
  217.  205   3                              return NOTIFY_POWERUP;
  218.  206   3                      }
  219.  207   2      
  220.  208   2                      else if ((MODE_NOSIGNAL == ucMode_Curr) &&((LEFT_KEY_MASK | POWER_KEY_MASK) == ucP3_Curr))     //anson
  221.  209   2                      {       //ucNotify    = NOTIFY_BURNIN_KEY;
  222.  210   3                              stGUD3.TV_SETTING = stGUD3.TV_SETTING | 0x20; //Burning Mode
  223.  211   3                              Save_GUD3();
  224.  212   3                              return NOTIFY_POWERUP;
  225.  213   3                      }         
  226.  214   2      
  227.  215   2                      else if (POWER_KEY_MASK & ucP3_Curr)
  228.  216   2                      {
  229.  217   3                              if ((ucP3_Prev ^ ucP3_Curr) & POWER_KEY_MASK)
  230.  218   3                              {
  231.  219   4                                      ucKey_Issued    = 0;
  232.  220   4      
  233.  221   4                                      Delay_Xms(20);
  234.  222   4      
  235.  223   4                                      ucP3_Curr   = GetKeyState();
  236.  224   4      
  237.  225   4                                      if ((ucP3_Prev ^ ucP3_Curr) & POWER_KEY_MASK)
  238.  226   4                                              return NOTIFY_POWERUP;
  239.  227   4                                      else
  240.  228   4                                              return NOTIFY_NONE;
  241.  229   4                              }
  242.  230   3                              else
  243.  231   3                                      return NOTIFY_NONE;
  244.  232   3                      }
  245.  233   2              }
  246.  234   1      
  247.  235   1      #endif
  248.  236   1      
  249.  237   1          // Generate Key Messages
  250. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 5   
  251.  238   1          switch (ucP3_Curr)
  252.  239   1          {
  253.  240   2      ///////////////////////////////////////////////////////////////////////////////////
  254.  241   2      //anson
  255.  242   2      ///////////////////////////////////////////////////////////////////////////////////
  256.  243   2      
  257.  244   2              case FACTORY_KEY_MASK :         //anson 0921
  258.  245   2                      if ((ucP3_Prev ^ ucP3_Curr) & FACTORY_KEY_MASK)
  259.  246   2                      {
  260.  247   3                              do
  261.  248   3                              {
  262.  249   4                                      ucP3_Curr   = GetKeyState();
  263.  250   4                              }while(ucP3_Curr != 0x00);
  264.  251   3      
  265.  252   3                              ucKey_Issued    = 0;
  266.  253   3                              ucNotify        = NOTIFY_FACTORY_KEY;
  267.  254   3                      }
  268.  255   2                      break;
  269.  256   2      
  270.  257   2      ///////////////////////////////////////////////////////////////////////////////////
  271.  258   2      ///////////////////////////////////////////////////////////////////////////////////
  272.  259   2      
  273.  260   2          case AUTO_KEY_MASK :
  274.  261   2              if ((ucP3_Prev ^ ucP3_Curr) & AUTO_KEY_MASK)
  275.  262   2              {
  276.  263   3                  ucKey_Issued    = 0;
  277.  264   3                  ucNotify        = NOTIFY_AUTO_KEY;
  278.  265   3              }
  279.  266   2              break;
  280.  267   2      /*
  281.  268   2          case MENU_KEY_MASK :
  282.  269   2              if ((ucP3_Prev ^ ucP3_Curr) & MENU_KEY_MASK)
  283.  270   2              {
  284.  271   2                 if (ucOSD_Page_Index)
  285.  272   2                 {
  286.  273   2                    ucKey_Issued    = 0;
  287.  274   2      //            ucNotify        = NOTIFY_MENU_KEY;  //default , now mask for exit function
  288.  275   2                    ucNotify        = NOTIFY_EXIT_KEY;
  289.  276   2                 }
  290.  277   2                 else
  291.  278   2                 {
  292.  279   2                    bStable  = 0;
  293.  280   2                    return NOTIFY_POWERUP;
  294.  281   2                 }
  295.  282   2              }
  296.  283   2              break;
  297.  284   2      */    
  298.  285   2          case ENTER_KEY_MASK :
  299.  286   2              if ((ucP3_Prev ^ ucP3_Curr) & ENTER_KEY_MASK)
  300.  287   2              {
  301.  288   3                  ucKey_Issued    = 0;
  302.  289   3      
  303.  290   3                  //usOSD_Timer     = (unsigned int)stGUD1.OSD_TIMEOUT << 9;    // Reset OSD timeout timer
  304.  291   3                  usOSD_Timer         = (unsigned int)stGUD1.OSD_TIMEOUT * 51; 
  305.  292   3                  ucNotify        = NOTIFY_ENTER_KEY;                         // Post enter-key pressed message
  306.  293   3                  ucKey_Repeat    = KEY_REPEAT_COUNT * 8;
  307.  294   3              }
  308.  295   2              else
  309.  296   2              {
  310.  297   3                  if (ucKey_Repeat)
  311.  298   3                      ucKey_Repeat    -= 1;
  312.  299   3                  else
  313. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 6   
  314.  300   3                  {
  315.  301   4                      if (ucOSD_Page_Index)
  316.  302   4                      {
  317.  303   5                          usOSD_Timer = 0;
  318.  304   5                          ucNotify    = NOTIFY_CLEAR_OSD;
  319.  305   5                      }
  320.  306   4                  }
  321.  307   3              }
  322.  308   2              break;
  323.  309   2          
  324.  310   2          case RIGHT_KEY_MASK :
  325.  311   2          case LEFT_KEY_MASK:
  326.  312   2              //usOSD_Timer     = (unsigned int)stGUD1.OSD_TIMEOUT << 9;        // Reset OSD timeout timer
  327.  313   2      //----------------------------------echo add begin
  328.  314   2              if (ucOSD_Page_Index)
  329.  315   2              {
  330.  316   3                 usOSD_Timer         = (unsigned int)stGUD1.OSD_TIMEOUT * 51;
  331.  317   3              }
  332.  318   2              else
  333.  319   2              {
  334.  320   3                 if (b_rgb_VOLUME_STATUS)
  335.  321   3                    usOSD_Timer         = (unsigned int)stGUD1.OSD_TIMEOUT * 4;
  336.  322   3              }
  337.  323   2      //----------------------------------echo add end;           
  338.  324   2              
  339.  325   2              if ((ucP3_Prev ^ ucP3_Curr) & ucP3_Curr)
  340.  326   2              {
  341.  327   3                  ucKey_Issued    = 0;
  342.  328   3      
  343.  329   3                  ucNotify        = (ucP3_Curr == RIGHT_KEY_MASK) ? NOTIFY_RIGHT_KEY : NOTIFY_LEFT_KEY;  // Post
  344.              - right-key pressed message
  345.  330   3                  ucKey_Repeat    = KEY_REPEAT_COUNT;
  346.  331   3              }
  347.  332   2              else
  348.  333   2              {
  349.  334   3                  if (ucKey_Repeat)
  350.  335   3                      ucKey_Repeat    -= 1;
  351.  336   3                  else
  352.  337   3                  {
  353.  338   4                      if (KEY_TURBO_ENABLE > ucKey_Issued)
  354.  339   4                      {
  355.  340   5                          ucKey_Issued    += 1;
  356.  341   5                          ucKey_Repeat    = KEY_REPEAT_PERIOD;
  357.  342   5                      }
  358.  343   4                      else
  359.  344   4                          ucKey_Repeat    = 0;
  360.  345   4      
  361.  346   4                      ucNotify        = (ucP3_Curr == RIGHT_KEY_MASK) ? NOTIFY_RIGHT_KEY : NOTIFY_LEFT_KEY;  // 
  362.              -Post right-key repeat message
  363.  347   4                  }
  364.  348   3              }
  365.  349   2              break;
  366.  350   2      /*    
  367.  351   2          case LEFT_KEY_MASK :
  368.  352   2              //usOSD_Timer     = (unsigned int)stGUD1.OSD_TIMEOUT << 9;        // Reset OSD timeout timer
  369.  353   2              usOSD_Timer         = (unsigned int)stGUD1.OSD_TIMEOUT * 51; 
  370.  354   2      
  371.  355   2              if ((ucP3_Prev ^ ucP3_Curr) & LEFT_KEY_MASK)
  372.  356   2              {
  373.  357   2                  ucKey_Issued    = 0;
  374.  358   2      
  375.  359   2                  ucNotify        = NOTIFY_LEFT_KEY;                          // Post left-key pressed message
  376. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 7   
  377.  360   2                  ucKey_Repeat    = KEY_REPEAT_COUNT;
  378.  361   2              }
  379.  362   2              else
  380.  363   2              {
  381.  364   2                  if (ucKey_Repeat)
  382.  365   2                      ucKey_Repeat    -= 1;
  383.  366   2                  else
  384.  367   2                  {
  385.  368   2                      if (KEY_TURBO_ENABLE > ucKey_Issued)
  386.  369   2                      {
  387.  370   2                          ucKey_Issued    += 1;
  388.  371   2                          ucKey_Repeat    = KEY_REPEAT_PERIOD;
  389.  372   2                      }
  390.  373   2                      else
  391.  374   2                          ucKey_Repeat    = 0;
  392.  375   2      
  393.  376   2                      ucNotify        = NOTIFY_LEFT_KEY;                      // Post left-key repeat message
  394.  377   2                  }
  395.  378   2              }
  396.  379   2              break;
  397.  380   2      */
  398.  381   2      /*    case IR_KEY_MASK :
  399.  382   2              ucKey_Issued    = 0;
  400.  383   2              if ((ucP3_Prev ^ ucP3_Curr) & IR_KEY_MASK)
  401.  384   2              {
  402.  385   2                  if (SOURCE_TV == (stGUD1.INPUT_SOURCE & 0x07))
  403.  386   2                  {
  404.  387   2                      //usOSD_Timer     = (unsigned int)stGUD1.OSD_TIMEOUT << 9;    // Reset OSD timeout timer
  405.  388   2                      usOSD_Timer         = (unsigned int)stGUD1.OSD_TIMEOUT * 51; 
  406.  389   2                  }
  407.  390   2      
  408.  391   2                  ucNotify        = Data[0];                                      // Post IR-key pressed message
  409.  392   2                  ucKey_Repeat    = KEY_REPEAT_COUNT;
  410.  393   2              }
  411.  394   2              else if (NOTIFY_IR_VOLINC == Data[0] || NOTIFY_IR_VOLDEC == Data[0])
  412.  395   2              {
  413.  396   2                  if (ucKey_Repeat)
  414.  397   2                      ucKey_Repeat    -= 1;
  415.  398   2                  else
  416.  399   2                  {
  417.  400   2                      ucNotify        = Data[0];
  418.  401   2                      ucKey_Repeat    = KEY_REPEAT_PERIOD;
  419.  402   2                  }
  420.  403   2              }
  421.  404   2              break;
  422.  405   2       */   
  423.  406   2          default :
  424.  407   2              // No key or more than 1 key pressed. Post no message and reset key-repeat.
  425.  408   2              ucKey_Repeat    = KEY_REPEAT_COUNT;
  426.  409   2              ucKey_Issued    = 0;
  427.  410   2      
  428.  411   2      #if (HIDDEN_PAGE)        
  429.                       // For triggering the hidden page
  430.                       if (0 == ucOSD_Page_Index && (RIGHT_KEY_MASK | LEFT_KEY_MASK) == ucP3_Curr)     ucNotify    = NOTI
  431.              -FY_LR_KEY;
  432.               #endif
  433.  415   2              break;
  434.  416   2          }
  435.  417   1      
  436.  418   1          return ucNotify;
  437.  419   1      }
  438.  420          
  439. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 8   
  440.  421          
  441.  422          void OSD_Dispatcher(unsigned char message)
  442.  423          {
  443.  424   1          if (bReload)
  444.  425   1          {
  445.  426   2              // When bStable and bReload are both 1s, it is the first iteration after input signal becomes stab
  446.              -le.
  447.  427   2              // bReload will be cleared and user's font will be reloaded.
  448.  428   2              bReload = 0;
  449.  429   2      
  450.  430   2              RTDSetByte(HOSTCTRL_02, 0x40);          // Wake RTD up
  451.  431   2              RTDSetBit(OVL_CTRL_6D, 0xfe, 0x00);     // Disable overlay control
  452.  432   2              RTDOSDW(OSD_Reset);                    // Clear OSD
  453.  433   2            //  RTDSetBit(OVL_CTRL_6D, 0xff, 0x02);     // Turn back to the original osd display width
  454.  434   2      
  455.  435   2             // Load_Font(JAPANESS == (stGUD1.FUNCTION & 0x07) ? Font_East_J : Font_East_C, 0x00, 0x12);
  456.  436   2                      //Load_Font(Font_Global, 0x00, 0x154);
  457.  437   2      /*
  458.  438   2                      Load_VLC_Font(Font_Global, 0x00, 0xa1);
  459.  439   2                      if( (stGUD1.FUNCTION & 0x07) == JAPANESS )
  460.  440   2                      {
  461.  441   2                              Load_VLC_Font(Font_East_J, 0x573, 0x4B);
  462.  442   2                      }
  463.  443   2                      else
  464.  444   2                      {
  465.  445   2                              Load_VLC_Font(Font_East_C, 0x5a9, 0x45);
  466.  446   2                      }
  467.  447   2                      Load_VLC_Font(Font_Icons, 0x828, 0x70);
  468.  448   2      */
  469.  449   2              if (ucOSD_Page_Index)
  470.  450   2              {
  471.  451   3                  message = NOTIFY_SHOW;
  472.  452   3              }
  473.  453   2              else
  474.  454   2              {
  475.  455   3                  message = NOTIFY_NONE;
  476.  456   3      
  477.  457   3                      RTDSetBit(OVL_CTRL_6D, 0x3f, 0x00);     //Red
  478.  458   3                      RTDSetBit(BGCOLOR_CONTROL_6C, 0x00, 0x00);
  479.  459   3                      RTDSetBit(OVL_CTRL_6D, 0x3f, 0x40);     //Green
  480.  460   3                      RTDSetBit(BGCOLOR_CONTROL_6C, 0x00, 0x00);
  481.  461   3                      RTDSetBit(OVL_CTRL_6D, 0x3f, 0x80);     //Blue
  482.  462   3                      RTDSetBit(BGCOLOR_CONTROL_6C, 0x00, 0x00);
  483.  463   3              
  484.  464   3                 if (BEGIN_MODECHANGE < usTaskCnt)    Show_Note();
  485.  465   3              }
  486.  466   2      
  487.  467   2              // We always read REG[1F] to see if frame-sync is OK.
  488.  468   2              // ucStatus is the OR result of REG[1F] when OSD is open, and clear to 0 when OSD is close.
  489.  469   2              //ucStatus    = 0;
  490.  470   2      
  491.  471   2          }
  492.  472   1      
  493.  473   1          if ((0 == ucOSD_Page_Index) && (!b_rgb_VOLUME_STATUS))
  494.  474   1          {
  495.  475   2              if ((BEGIN_MODECHANGE == usTaskCnt))
  496.  476   2              {
  497.  477   3                  // Disable and clear input source note text
  498.  478   3                  RTDSetByte(HOSTCTRL_02, 0x40);
  499.  479   3                   RTDSetBit(OVL_CTRL_6D, 0xfe, 0x00);     
  500.  480   3                  RTDOSDW(OSD_Reset);
  501.  481   3              }
  502. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 9   
  503.  482   2              else if ((BEGIN_SHOWHINT == usTaskCnt))
  504.  483   2              {
  505.  484   3                 Show_Hint();
  506.  485   3              }
  507.  486   2                      
  508.  487   2                      
  509.  488   2                      //else if (1 == usTaskCnt)
  510.  489   2                      //{
  511.  490   2                      //    RTDOSDW(OSD_Reset);            // Clear OSD
  512.  491   2                      //}
  513.  492   2          }
  514.  493   1          else if (NOTIFY_NONE == message)
  515.  494   1          {
  516.  495   2      //        if (0 == usOSD_Timer && 0 != stGUD1.OSD_TIMEOUT && SOURCE_TV != (stGUD1.INPUT_SOURCE & 0x07))
  517.  496   2              if (0 == usOSD_Timer && 0 != stGUD1.OSD_TIMEOUT )
  518.  497   2              {
  519.  498   3                  message = NOTIFY_CLEAR_OSD;
  520.  499   3              }
  521.  500   2          }
  522.  501   1      
  523.  502   1          switch (message)
  524.  503   1          {
  525.  504   2          case NOTIFY_CLEAR_OSD :
  526.  505   2      //        if (ucOSD_Page_Index && SOURCE_TV != (stGUD1.INPUT_SOURCE & 0x07))
  527.  506   2              if ((ucOSD_Page_Index) || (b_rgb_VOLUME_STATUS))
  528.  507   2              {
  529.  508   3                  // OSD time-out
  530.  509   3                  ucOSD_Page_Index    = 0;
  531.  510   3                  ucOSD_Item_Index0   = 0;
  532.  511   3                  ucOSD_Item_Index1   = 0;
  533.  512   3                  ucOSD_Item_Index2   = 0;
  534.  513   3      
  535.  514   3                  b_rgb_VOLUME_STATUS = 0;  // echo add 04/05/18
  536.  515   3      
  537.  516   3                  RTDSetByte(HOSTCTRL_02, 0x40);  // Wake RTD up
  538.  517   3      
  539.  518   3                  // Although you can add ending animation here, I don't think it is necessary.
  540.  519   3                                      RTDSetBit(OVL_CTRL_6D, 0xfe, 0x00);
  541.  520   3                  RTDOSDW(OSD_Reset);            // Clear OSD
  542.  521   3              }
  543.  522   2              break;
  544.  523   2      /*
  545.  524   2          case NOTIFY_EXIT_KEY :
  546.  525   2                  ucOSD_Page_Index    = 0;
  547.  526   2                  ucOSD_Item_Index0   = 0;
  548.  527   2                  ucOSD_Item_Index1   = 0;
  549.  528   2                  ucOSD_Item_Index2   = 0;
  550.  529   2      
  551.  530   2                  b_rgb_VOLUME_STATUS = 0;  // echo add 04/05/18
  552.  531   2      
  553.  532   2                  RTDSetByte(HOSTCTRL_02, 0x40);  // Wake RTD up
  554.  533   2      
  555.  534   2                  // Although you can add ending animation here, I don't think it is necessary.
  556.  535   2                                      RTDSetBit(OVL_CTRL_6D, 0xfe, 0x00);
  557.  536   2                  RTDOSDW(OSD_Reset);            // Clear OSD
  558.  537   2              break;
  559.  538   2      */
  560.  539   2      
  561.  540   2      /*
  562.  541   2          case NOTIFY_EXIT_KEY :
  563.  542   2              break;
  564.  543   2      */
  565. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 10  
  566.  544   2          case NOTIFY_MENU_KEY :
  567.  545   2          case NOTIFY_IR_SOURCE :
  568.  546   2              if (SOURCE_VGA == (stGUD1.INPUT_SOURCE & 0x07))
  569.  547   2              {
  570.  548   3      #if (TMDS_ENABLE) 
  571.  549   3                  Change_Source(SOURCE_DVI);
  572.  550   3      #else
  573.                           Change_Source(SOURCE_AV);
  574.               #endif
  575.  553   3              }
  576.  554   2              else if (SOURCE_DVI == (stGUD1.INPUT_SOURCE & 0x07))
  577.  555   2                  Change_Source(SOURCE_AV);
  578.  556   2              else if (SOURCE_AV == (stGUD1.INPUT_SOURCE & 0x07))
  579.  557   2                  Change_Source(SOURCE_SV);
  580.  558   2              else if (SOURCE_SV == (stGUD1.INPUT_SOURCE & 0x07))
  581.  559   2              {
  582.  560   3      #if (VIDEO_CHIP == VDC_SAA7118)
  583.                           Change_Source(SOURCE_YUV);
  584.               #else
  585.  563   3                  Change_Source(SOURCE_TV);
  586.  564   3      #endif
  587.  565   3              }
  588.  566   2              else if (SOURCE_YUV == (stGUD1.INPUT_SOURCE & 0x07))
  589.  567   2              {
  590.  568   3                  Change_Source(SOURCE_TV);
  591.  569   3              }
  592.  570   2              else
  593.  571   2              {
  594.  572   3                  Change_Source(SOURCE_VGA);
  595.  573   3              }
  596.  574   2              break;
  597.  575   2      
  598.  576   2          default :
  599.  577   2              {
  600.  578   3                  // Save the current OSD page index
  601.  579   3                  unsigned char   ucPage_Curr     = ucOSD_Page_Index;
  602.  580   3      
  603.  581   3                  // Send messages to OSD process
  604.  582   3                  //(*OSD_Proc[ucOSD_Page_Index][stGUD1.INPUT_SOURCE & 0x07])(message);
  605.  583   3                  OSD_Proc(message);
  606.  584   3      
  607.  585   3                  // If OSD page is changed ...
  608.  586   3                  if (ucPage_Curr != ucOSD_Page_Index)
  609.  587   3                  {
  610.  588   4                      if (ucOSD_Page_Index)
  611.  589   4                      {
  612.  590   5                          if (0 == ucPage_Curr)
  613.  591   5                          {
  614.  592   6                              // ucOSD_Page_Index becomes non-zero value from zero. It is the first show of OSD.
  615.  593   6                              // Maybe RTD3001 is still in power-saving mode, or we are showing some text on scr
  616.              -een,
  617.  594   6                              // like "No Signal". So we must wake up RTD3001 and clear screen before we display
  618.              - OSD.
  619.  595   6                              RTDSetByte(HOSTCTRL_02, 0x40);
  620.  596   6                              RTDSetBit(VDIS_CTRL_20, 0xff, 0x01);
  621.  597   6                                                      RTDSetBit(OVL_CTRL_6D, 0xfe, 0x00);     
  622.  598   6                              RTDOSDW(OSD_Reset);
  623.  599   6                          }
  624.  600   5      
  625.  601   5                          //(*OSD_Proc[ucOSD_Page_Index][stGUD1.INPUT_SOURCE & 0x07])(NOTIFY_SHOW);
  626.  602   5                          OSD_Proc(NOTIFY_SHOW);
  627.  603   5      
  628. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 11  
  629.  604   5                                              if (0 == ucPage_Curr)
  630.  605   5                                              {
  631.  606   6                                                      //RTDCodeW(OSD_Enable);
  632.  607   6                                                      //RTDSetBit(OVL_CTRL_6D, 0xfe, 0x01);
  633.  608   6      
  634.  609   6                                                      OSD_Opening();
  635.  610   6                                              }
  636.  611   5                      }
  637.  612   4                      else
  638.  613   4                      {
  639.  614   5                          // OSD should be cleared when ucOSD_Page_Index becomes 0. 
  640.  615   5                          // Clear other OSD status registers for safety
  641.  616   5                          ucOSD_Item_Index0   = 0;
  642.  617   5                          ucOSD_Item_Index1   = 0;
  643.  618   5                          ucOSD_Item_Index2   = 0;
  644.  619   5      
  645.  620   5                          RTDSetByte(HOSTCTRL_02, 0x40);  // Wake RTD up
  646.  621   5      
  647.  622   5                          OSD_Ending();
  648.  623   5                                              //RTDSetBit(OVL_CTRL_6D, 0xfe, 0x00);     
  649.  624   5                          //RTDCodeW(OSD_Reset);            // Clear OSD
  650.  625   5                      }
  651.  626   4                  }
  652.  627   3                  else
  653.  628   3                  {
  654.  629   4                      // OSD page is not changed
  655.  630   4                      if (ucOSD_Page_Index)
  656.  631   4                      {
  657.  632   5                                              if (NOTIFY_SHOW == message)     
  658.  633   5                                              {
  659.  634   6                                                      RTDCodeW(OSD_Enable);
  660.  635   6                                                      RTDSetBit(OVL_CTRL_6D, 0xfe, 0x01);
  661.  636   6                                              }
  662.  637   5      
  663.  638   5                          // Change H/V Position and ADC clock may cause overflow/underflow temporarily.
  664.  639   5                          if (NOTIFY_RIGHT_KEY == message || NOTIFY_LEFT_KEY == message)
  665.  640   5                          {
  666.  641   6      
  667.  642   6                                                      RTDSetByte(STATUS0_01, 0x00);  // Clear status
  668.  643   6                              RTDSetByte(STATUS1_1F, 0x00);  // Clear status
  669.  644   6      
  670.  645   6                          }
  671.  646   5      #if (SHOW_CHECK)
  672.                                   // Just for showing debug information
  673.                                   OSD_Show_Check();
  674.                                       if( ucOSD_Item_Index0 == 5 &&  ucOSD_Page_Index == 1 &&  ucOSD_Item_Index1)
  675.                                       {
  676.                                               ucOSD_Page_Index = 7;
  677.                                               OSD_Show_Check();
  678.                                               ucOSD_Page_Index = 1;
  679.               
  680.                                       }
  681.               #endif
  682.  657   5                      }
  683.  658   4                      else
  684.  659   4                      {
  685.  660   5                          // We always read REG[1F] to see if frame-sync is OK.
  686.  661   5                          // ucStatus is the OR result of REG[1F] when OSD is open, and clear to 0 when OSD is c
  687.              -lose.
  688.  662   5                          ucStatus    = 0;
  689.  663   5      #if (RTDDEBUG)
  690.                                   usPE_Sum    = 0;
  691. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 12  
  692.               #endif
  693.  666   5                      }
  694.  667   4                  }
  695.  668   3              }
  696.  669   2              break;
  697.  670   2          }
  698.  671   1      }
  699.  672          
  700. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 13  
  701. ASSEMBLY LISTING OF GENERATED OBJECT CODE
  702.              ; FUNCTION Com0068 (BEGIN)
  703. 0000         L?0105:
  704. 0000 AF00        E     MOV     R7,stGUD1+06H
  705. 0002 7D33              MOV     R5,#033H
  706. 0004 120000      E     LCALL   ?C?IMUL
  707. 0007 7800        E     MOV     R0,#LOW usOSD_Timer
  708. 0009 A606              MOV     @R0,AR6
  709. 000B 08                INC     R0
  710. 000C A607              MOV     @R0,AR7
  711. 000E 22                RET     
  712. 000F         L?0108:
  713. 000F 7800        E     MOV     R0,#LOW ucOSD_Item_Index0
  714. 0011 F6                MOV     @R0,A
  715. 0012 7800        E     MOV     R0,#LOW ucOSD_Item_Index1
  716. 0014 F6                MOV     @R0,A
  717. 0015 7800        E     MOV     R0,#LOW ucOSD_Item_Index2
  718. 0017 F6                MOV     @R0,A
  719. 0018 22                RET     
  720.              ; FUNCTION Com0068 (END)
  721.              ; FUNCTION GetKeyState (BEGIN)
  722.                                            ; SOURCE LINE # 19
  723.                                            ; SOURCE LINE # 20
  724.                                            ; SOURCE LINE # 94
  725. ;---- Variable 'ucKeyState' assigned to Register 'R7' ----
  726. 0000 E4                CLR     A
  727. 0001 FF                MOV     R7,A
  728.                                            ; SOURCE LINE # 96
  729. 0002 20B402            JB      bRIGHT_KEY,?C0001
  730.                                            ; SOURCE LINE # 97
  731. 0005 7F08              MOV     R7,#08H
  732. 0007         ?C0001:
  733.                                            ; SOURCE LINE # 98
  734. 0007 20B503            JB      bLEFT_KEY,?C0002
  735.                                            ; SOURCE LINE # 99
  736. 000A 430760            ORL     AR7,#060H
  737. 000D         ?C0002:
  738.                                            ; SOURCE LINE # 100
  739. 000D 900000      E     MOV     DPTR,#M512_Port60
  740. 0010 E0                MOVX    A,@DPTR
  741. 0011 20E003            JB      ACC.0,?C0003
  742.                                            ; SOURCE LINE # 101
  743. 0014 430720            ORL     AR7,#020H
  744. 0017         ?C0003:
  745.                                            ; SOURCE LINE # 104
  746. 0017 900000      E     MOV     DPTR,#M512_Port54
  747. 001A E0                MOVX    A,@DPTR
  748. 001B 20E003            JB      ACC.0,?C0004
  749.                                            ; SOURCE LINE # 105
  750. 001E 430710            ORL     AR7,#010H
  751. 0021         ?C0004:
  752.                                            ; SOURCE LINE # 106
  753. 0021 900000      E     MOV     DPTR,#M512_Port55
  754. 0024 E0                MOVX    A,@DPTR
  755. 0025 20E003            JB      ACC.0,?C0005
  756.                                            ; SOURCE LINE # 107
  757. 0028 430701            ORL     AR7,#01H
  758. 002B         ?C0005:
  759.                                            ; SOURCE LINE # 109
  760. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 14  
  761.                                            ; SOURCE LINE # 112
  762. 002B         ?C0006:
  763. 002B 22                RET     
  764.              ; FUNCTION GetKeyState (END)
  765.              ; FUNCTION Key_Trans (BEGIN)
  766.                                            ; SOURCE LINE # 121
  767.                                            ; SOURCE LINE # 122
  768.                                            ; SOURCE LINE # 127
  769. 0000 E4                CLR     A
  770. 0001 F500        R     MOV     ucNotify,A
  771.                                            ; SOURCE LINE # 130
  772. 0003 7800        R     MOV     R0,#LOW ucP3_Curr
  773. 0005 E6                MOV     A,@R0
  774. 0006 18                DEC     R0
  775. 0007 F6                MOV     @R0,A
  776.                                            ; SOURCE LINE # 132
  777. 0008 120000      R     LCALL   GetKeyState
  778. 000B 08                INC     R0
  779. 000C A607              MOV     @R0,AR7
  780.                                            ; SOURCE LINE # 175
  781. 000E 300025      E     JNB     bPower_Status,?C0007
  782.                                            ; SOURCE LINE # 176
  783.                                            ; SOURCE LINE # 177
  784. 0011 E6                MOV     A,@R0
  785. 0012 30E460            JNB     ACC.4,?C0015
  786.                                            ; SOURCE LINE # 178
  787.                                            ; SOURCE LINE # 179
  788. 0015 18                DEC     R0
  789. 0016 66                XRL     A,@R0
  790. 0017 30E45B            JNB     ACC.4,?C0015
  791.                                            ; SOURCE LINE # 180
  792.                                            ; SOURCE LINE # 181
  793.                                            ; SOURCE LINE # 183
  794. 001A 120000      R     LCALL   L?0103
  795.                                            ; SOURCE LINE # 185
  796. 001D 18                DEC     R0
  797. 001E 66                XRL     A,@R0
  798. 001F 30E411            JNB     ACC.4,?C0010
  799.                                            ; SOURCE LINE # 186
  800.                                            ; SOURCE LINE # 187
  801. 0022 E500        E     MOV     A,stGUD3+03H
  802. 0024 20E303            JB      ACC.3,?C0012
  803. 0027 30E506            JNB     ACC.5,?C0011
  804. 002A         ?C0012:
  805.                                            ; SOURCE LINE # 188
  806.                                            ; SOURCE LINE # 189
  807. 002A 5300F7      E     ANL     stGUD3+03H,#0F7H
  808.                                            ; SOURCE LINE # 190
  809. 002D 120000      E     LCALL   Save_GUD3
  810.                                            ; SOURCE LINE # 191
  811. 0030         ?C0011:
  812.                                            ; SOURCE LINE # 192
  813. 0030 7F81              MOV     R7,#081H
  814. 0032 22                RET     
  815.                                            ; SOURCE LINE # 193
  816. 0033         ?C0010:
  817.                                            ; SOURCE LINE # 195
  818. 0033 7F00              MOV     R7,#00H
  819. 0035 22                RET     
  820.                                            ; SOURCE LINE # 196
  821.                                            ; SOURCE LINE # 197
  822. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 15  
  823.                                            ; SOURCE LINE # 198
  824. 0036         ?C0007:
  825.                                            ; SOURCE LINE # 200
  826.                                            ; SOURCE LINE # 201
  827. 0036 7800        R     MOV     R0,#LOW ucP3_Curr
  828. 0038 E6                MOV     A,@R0
  829. 0039 B41805            CJNE    A,#018H,?C0016
  830.                                            ; SOURCE LINE # 202
  831.                                            ; SOURCE LINE # 203
  832. 003C 430008      E     ORL     stGUD3+03H,#08H
  833.                                            ; SOURCE LINE # 204
  834.                                            ; SOURCE LINE # 205
  835. 003F 800E              SJMP    ?C0095
  836.                                            ; SOURCE LINE # 206
  837. 0041         ?C0016:
  838.                                            ; SOURCE LINE # 208
  839. 0041 7800        E     MOV     R0,#LOW ucMode_Curr
  840. 0043 E6                MOV     A,@R0
  841. 0044 700F              JNZ     ?C0018
  842. 0046 7800        R     MOV     R0,#LOW ucP3_Curr
  843. 0048 E6                MOV     A,@R0
  844. 0049 B47009            CJNE    A,#070H,?C0018
  845.                                            ; SOURCE LINE # 209
  846.                                            ; SOURCE LINE # 210
  847. 004C 430020      E     ORL     stGUD3+03H,#020H
  848.                                            ; SOURCE LINE # 211
  849. 004F         ?C0095:
  850. 004F 120000      E     LCALL   Save_GUD3
  851.                                            ; SOURCE LINE # 212
  852. 0052 7F80              MOV     R7,#080H
  853. 0054 22                RET     
  854.                                            ; SOURCE LINE # 213
  855. 0055         ?C0018:
  856.                                            ; SOURCE LINE # 215
  857. 0055 7800        R     MOV     R0,#LOW ucP3_Curr
  858. 0057 E6                MOV     A,@R0
  859. 0058 30E41A            JNB     ACC.4,?C0015
  860.                                            ; SOURCE LINE # 216
  861.                                            ; SOURCE LINE # 217
  862. 005B 18                DEC     R0
  863. 005C 66                XRL     A,@R0
  864. 005D 30E412            JNB     ACC.4,?C0021
  865.                                            ; SOURCE LINE # 218
  866.                                            ; SOURCE LINE # 219
  867. 0060 E4                CLR     A
  868. 0061 7800        R     MOV     R0,#LOW ucKey_Issued
  869. 0063 F6                MOV     @R0,A
  870.                                            ; SOURCE LINE # 221
  871.                                            ; SOURCE LINE # 223
  872. 0064 120000      R     LCALL   L?0103
  873.                                            ; SOURCE LINE # 225
  874. 0067 18                DEC     R0
  875. 0068 66                XRL     A,@R0
  876. 0069 30E403            JNB     ACC.4,?C0022
  877.                                            ; SOURCE LINE # 226
  878. 006C 7F80              MOV     R7,#080H
  879. 006E 22                RET     
  880. 006F         ?C0022:
  881.                                            ; SOURCE LINE # 228
  882. 006F 7F00              MOV     R7,#00H
  883. 0071 22                RET     
  884.                                            ; SOURCE LINE # 229
  885. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 16  
  886. 0072         ?C0021:
  887.                                            ; SOURCE LINE # 231
  888. 0072 7F00              MOV     R7,#00H
  889. 0074 22                RET     
  890.                                            ; SOURCE LINE # 232
  891.                                            ; SOURCE LINE # 233
  892. 0075         ?C0015:
  893.                                            ; SOURCE LINE # 238
  894. 0075 7800        R     MOV     R0,#LOW ucP3_Curr
  895. 0077 E6                MOV     A,@R0
  896. 0078 FF                MOV     R7,A
  897. 0079 14                DEC     A
  898. 007A 6030              JZ      ?C0031
  899. 007C 24F9              ADD     A,#0F9H
  900. 007E 6077              JZ      ?C0040
  901. 0080 24E8              ADD     A,#0E8H
  902. 0082 603E              JZ      ?C0033
  903. 0084 24C0              ADD     A,#0C0H
  904. 0086 606F              JZ      ?C0040
  905. 0088 244C              ADD     A,#04CH
  906. 008A 6003              JZ      $ + 5H
  907. 008C 020000      R     LJMP    ?C0054
  908.                                            ; SOURCE LINE # 239
  909.                                            ; SOURCE LINE # 244
  910. 008F         ?C0026:
  911.                                            ; SOURCE LINE # 245
  912. 008F 7800        R     MOV     R0,#LOW ucP3_Prev
  913. 0091 E6                MOV     A,@R0
  914. 0092 6F                XRL     A,R7
  915. 0093 5414              ANL     A,#014H
  916. 0095 7003              JNZ     $ + 5H
  917. 0097 020000      R     LJMP    ?C0025
  918.                                            ; SOURCE LINE # 246
  919. 009A         ?C0030:
  920.                                            ; SOURCE LINE # 248
  921.                                            ; SOURCE LINE # 249
  922. 009A 120000      R     LCALL   GetKeyState
  923. 009D 7800        R     MOV     R0,#LOW ucP3_Curr
  924. 009F EF                MOV     A,R7
  925. 00A0 F6                MOV     @R0,A
  926.                                            ; SOURCE LINE # 250
  927. 00A1 70F7              JNZ     ?C0030
  928.                                            ; SOURCE LINE # 252
  929. 00A3 7800        R     MOV     R0,#LOW ucKey_Issued
  930. 00A5 F6                MOV     @R0,A
  931.                                            ; SOURCE LINE # 253
  932. 00A6 750009      R     MOV     ucNotify,#09H
  933.                                            ; SOURCE LINE # 254
  934.                                            ; SOURCE LINE # 255
  935. 00A9 020000      R     LJMP    ?C0025
  936.                                            ; SOURCE LINE # 260
  937. 00AC         ?C0031:
  938.                                            ; SOURCE LINE # 261
  939. 00AC 7900        R     MOV     R1,#LOW ucP3_Prev
  940. 00AE E7                MOV     A,@R1
  941. 00AF 7800        R     MOV     R0,#LOW ucP3_Curr
  942. 00B1 66                XRL     A,@R0
  943. 00B2 20E003            JB      ACC.0,$ + 6H
  944. 00B5 020000      R     LJMP    ?C0025
  945.                                            ; SOURCE LINE # 262
  946.                                            ; SOURCE LINE # 263
  947. 00B8 E4                CLR     A
  948. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 17  
  949. 00B9 7800        R     MOV     R0,#LOW ucKey_Issued
  950. 00BB F6                MOV     @R0,A
  951.                                            ; SOURCE LINE # 264
  952. 00BC 750005      R     MOV     ucNotify,#05H
  953.                                            ; SOURCE LINE # 265
  954.                                            ; SOURCE LINE # 266
  955. 00BF 020000      R     LJMP    ?C0025
  956.                                            ; SOURCE LINE # 285
  957. 00C2         ?C0033:
  958.                                            ; SOURCE LINE # 286
  959. 00C2 7900        R     MOV     R1,#LOW ucP3_Prev
  960. 00C4 E7                MOV     A,@R1
  961. 00C5 7800        R     MOV     R0,#LOW ucP3_Curr
  962. 00C7 66                XRL     A,@R0
  963. 00C8 30E513            JNB     ACC.5,?C0034
  964.                                            ; SOURCE LINE # 287
  965.                                            ; SOURCE LINE # 288
  966. 00CB E4                CLR     A
  967. 00CC 7800        R     MOV     R0,#LOW ucKey_Issued
  968. 00CE F6                MOV     @R0,A
  969.                                            ; SOURCE LINE # 291
  970. 00CF FE                MOV     R6,A
  971. 00D0 FC                MOV     R4,A
  972. 00D1 120000      R     LCALL   L?0105
  973.                                            ; SOURCE LINE # 292
  974. 00D4 750002      R     MOV     ucNotify,#02H
  975.                                            ; SOURCE LINE # 293
  976. 00D7 7800        R     MOV     R0,#LOW ucKey_Repeat
  977. 00D9 7678              MOV     @R0,#078H
  978.                                            ; SOURCE LINE # 294
  979. 00DB 020000      R     LJMP    ?C0025
  980. 00DE         ?C0034:
  981.                                            ; SOURCE LINE # 296
  982.                                            ; SOURCE LINE # 297
  983. 00DE 7800        R     MOV     R0,#LOW ucKey_Repeat
  984. 00E0 E6                MOV     A,@R0
  985. 00E1 6004              JZ      ?C0036
  986.                                            ; SOURCE LINE # 298
  987. 00E3 16                DEC     @R0
  988. 00E4 020000      R     LJMP    ?C0025
  989. 00E7         ?C0036:
  990.                                            ; SOURCE LINE # 300
  991.                                            ; SOURCE LINE # 301
  992. 00E7 7800        E     MOV     R0,#LOW ucOSD_Page_Index
  993. 00E9 E6                MOV     A,@R0
  994. 00EA 607B              JZ      ?C0025
  995.                                            ; SOURCE LINE # 302
  996.                                            ; SOURCE LINE # 303
  997. 00EC E4                CLR     A
  998. 00ED 7800        E     MOV     R0,#LOW usOSD_Timer
  999. 00EF F6                MOV     @R0,A
  1000. 00F0 08                INC     R0
  1001. 00F1 F6                MOV     @R0,A
  1002.                                            ; SOURCE LINE # 304
  1003. 00F2 750082      R     MOV     ucNotify,#082H
  1004.                                            ; SOURCE LINE # 305
  1005.                                            ; SOURCE LINE # 306
  1006.                                            ; SOURCE LINE # 307
  1007.                                            ; SOURCE LINE # 308
  1008. 00F5 8070              SJMP    ?C0025
  1009.                                            ; SOURCE LINE # 310
  1010.                                            ; SOURCE LINE # 311
  1011. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 18  
  1012. 00F7         ?C0040:
  1013.                                            ; SOURCE LINE # 314
  1014. 00F7 7800        E     MOV     R0,#LOW ucOSD_Page_Index
  1015. 00F9 E6                MOV     A,@R0
  1016. 00FA 6009              JZ      ?C0041
  1017.                                            ; SOURCE LINE # 315
  1018.                                            ; SOURCE LINE # 316
  1019. 00FC 7E00              MOV     R6,#00H
  1020. 00FE 7C00              MOV     R4,#00H
  1021. 0100 120000      R     LCALL   L?0105
  1022.                                            ; SOURCE LINE # 317
  1023. 0103 8010              SJMP    ?C0042
  1024. 0105         ?C0041:
  1025.                                            ; SOURCE LINE # 319
  1026.                                            ; SOURCE LINE # 320
  1027. 0105 30000D      E     JNB     b_rgb_VOLUME_STATUS,?C0042
  1028.                                            ; SOURCE LINE # 321
  1029. 0108 E500        E     MOV     A,stGUD1+06H
  1030. 010A 75F004            MOV     B,#04H
  1031. 010D A4                MUL     AB
  1032. 010E 7900        E     MOV     R1,#LOW usOSD_Timer+01H
  1033. 0110 F7                MOV     @R1,A
  1034. 0111 E5F0              MOV     A,B
  1035. 0113 19                DEC     R1
  1036. 0114 F7                MOV     @R1,A
  1037.                                            ; SOURCE LINE # 322
  1038. 0115         ?C0042:
  1039.                                            ; SOURCE LINE # 325
  1040. 0115 7800        R     MOV     R0,#LOW ucP3_Curr
  1041. 0117 E6                MOV     A,@R0
  1042. 0118 FF                MOV     R7,A
  1043. 0119 18                DEC     R0
  1044. 011A 66                XRL     A,@R0
  1045. 011B 5F                ANL     A,R7
  1046. 011C 6018              JZ      ?C0044
  1047.                                            ; SOURCE LINE # 326
  1048.                                            ; SOURCE LINE # 327
  1049. 011E E4                CLR     A
  1050. 011F 7800        R     MOV     R0,#LOW ucKey_Issued
  1051. 0121 F6                MOV     @R0,A
  1052.                                            ; SOURCE LINE # 329
  1053. 0122 7800        R     MOV     R0,#LOW ucP3_Curr
  1054. 0124 E6                MOV     A,@R0
  1055. 0125 B40804            CJNE    A,#08H,?C0045
  1056. 0128 7F03              MOV     R7,#03H
  1057. 012A 8002              SJMP    ?C0046
  1058. 012C         ?C0045:
  1059. 012C 7F04              MOV     R7,#04H
  1060. 012E         ?C0046:
  1061. 012E 8F00        R     MOV     ucNotify,R7
  1062.                                            ; SOURCE LINE # 330
  1063. 0130 7800        R     MOV     R0,#LOW ucKey_Repeat
  1064. 0132 760F              MOV     @R0,#0FH
  1065.                                            ; SOURCE LINE # 331
  1066. 0134 8031              SJMP    ?C0025
  1067. 0136         ?C0044:
  1068.                                            ; SOURCE LINE # 333
  1069.                                            ; SOURCE LINE # 334
  1070. 0136 7800        R     MOV     R0,#LOW ucKey_Repeat
  1071. 0138 E6                MOV     A,@R0
  1072. 0139 6003              JZ      ?C0048
  1073.                                            ; SOURCE LINE # 335
  1074. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 19  
  1075. 013B 16                DEC     @R0
  1076. 013C 8029              SJMP    ?C0025
  1077. 013E         ?C0048:
  1078.                                            ; SOURCE LINE # 337
  1079.                                            ; SOURCE LINE # 338
  1080. 013E 740F              MOV     A,#0FH
  1081. 0140 D3                SETB    C
  1082. 0141 7800        R     MOV     R0,#LOW ucKey_Issued
  1083. 0143 96                SUBB    A,@R0
  1084. 0144 4006              JC      ?C0050
  1085.                                            ; SOURCE LINE # 339
  1086.                                            ; SOURCE LINE # 340
  1087. 0146 06                INC     @R0
  1088.                                            ; SOURCE LINE # 341
  1089. 0147 18                DEC     R0
  1090. 0148 7601              MOV     @R0,#01H
  1091.                                            ; SOURCE LINE # 342
  1092. 014A 8004              SJMP    ?C0051
  1093. 014C         ?C0050:
  1094.                                            ; SOURCE LINE # 344
  1095. 014C E4                CLR     A
  1096. 014D 7800        R     MOV     R0,#LOW ucKey_Repeat
  1097. 014F F6                MOV     @R0,A
  1098. 0150         ?C0051:
  1099.                                            ; SOURCE LINE # 346
  1100. 0150 7800        R     MOV     R0,#LOW ucP3_Curr
  1101. 0152 E6                MOV     A,@R0
  1102. 0153 B40804            CJNE    A,#08H,?C0052
  1103. 0156 7F03              MOV     R7,#03H
  1104. 0158 8002              SJMP    ?C0053
  1105. 015A         ?C0052:
  1106. 015A 7F04              MOV     R7,#04H
  1107. 015C         ?C0053:
  1108. 015C 8F00        R     MOV     ucNotify,R7
  1109.                                            ; SOURCE LINE # 347
  1110.                                            ; SOURCE LINE # 348
  1111.                                            ; SOURCE LINE # 349
  1112. 015E 8007              SJMP    ?C0025
  1113.                                            ; SOURCE LINE # 406
  1114. 0160         ?C0054:
  1115.                                            ; SOURCE LINE # 408
  1116. 0160 7800        R     MOV     R0,#LOW ucKey_Repeat
  1117. 0162 760F              MOV     @R0,#0FH
  1118.                                            ; SOURCE LINE # 409
  1119. 0164 E4                CLR     A
  1120. 0165 08                INC     R0
  1121. 0166 F6                MOV     @R0,A
  1122.                                            ; SOURCE LINE # 415
  1123.                                            ; SOURCE LINE # 416
  1124. 0167         ?C0025:
  1125.                                            ; SOURCE LINE # 418
  1126. 0167 AF00        R     MOV     R7,ucNotify
  1127.                                            ; SOURCE LINE # 419
  1128. 0169         ?C0013:
  1129. 0169 22                RET     
  1130. 016A         L?0103:
  1131. 016A 7F14              MOV     R7,#014H
  1132. 016C 120000      E     LCALL   _Delay_Xms
  1133. 016F 120000      R     LCALL   GetKeyState
  1134. 0172 7800        R     MOV     R0,#LOW ucP3_Curr
  1135. 0174 EF                MOV     A,R7
  1136. 0175 F6                MOV     @R0,A
  1137. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 20  
  1138. 0176 22                RET     
  1139.              ; FUNCTION Key_Trans (END)
  1140.              ; FUNCTION _OSD_Dispatcher (BEGIN)
  1141.                                            ; SOURCE LINE # 422
  1142. 0000 8F00        R     MOV     message,R7
  1143.                                            ; SOURCE LINE # 423
  1144.                                            ; SOURCE LINE # 424
  1145. 0002 30003D      E     JNB     bReload,?C0055
  1146.                                            ; SOURCE LINE # 425
  1147.                                            ; SOURCE LINE # 428
  1148. 0005 C200        E     CLR     bReload
  1149.                                            ; SOURCE LINE # 430
  1150.                                            ; SOURCE LINE # 431
  1151.                                            ; SOURCE LINE # 432
  1152. 0007 120000      R     LCALL   L?0101
  1153. 000A 120000      E     LCALL   _RTDOSDW
  1154.                                            ; SOURCE LINE # 449
  1155. 000D 7800        E     MOV     R0,#LOW ucOSD_Page_Index
  1156. 000F E6                MOV     A,@R0
  1157. 0010 6005              JZ      ?C0056
  1158.                                            ; SOURCE LINE # 450
  1159.                                            ; SOURCE LINE # 451
  1160. 0012 750083      R     MOV     message,#083H
  1161.                                            ; SOURCE LINE # 452
  1162. 0015 802B              SJMP    ?C0055
  1163. 0017         ?C0056:
  1164.                                            ; SOURCE LINE # 454
  1165.                                            ; SOURCE LINE # 455
  1166. 0017 E4                CLR     A
  1167. 0018 F500        R     MOV     message,A
  1168.                                            ; SOURCE LINE # 457
  1169. 001A FB                MOV     R3,A
  1170.                                            ; SOURCE LINE # 458
  1171. 001B 120000      R     LCALL   L?0102
  1172.                                            ; SOURCE LINE # 459
  1173. 001E 7B40              MOV     R3,#040H
  1174.                                            ; SOURCE LINE # 460
  1175. 0020 120000      R     LCALL   L?0102
  1176.                                            ; SOURCE LINE # 461
  1177. 0023 7B80              MOV     R3,#080H
  1178. 0025 7D3F              MOV     R5,#03FH
  1179. 0027 7F6D              MOV     R7,#06DH
  1180. 0029 120000      E     LCALL   _RTDSetBit
  1181.                                            ; SOURCE LINE # 462
  1182. 002C E4                CLR     A
  1183. 002D FB                MOV     R3,A
  1184. 002E FD                MOV     R5,A
  1185. 002F 7F6C              MOV     R7,#06CH
  1186. 0031 120000      E     LCALL   _RTDSetBit
  1187.                                            ; SOURCE LINE # 464
  1188. 0034 C3                CLR     C
  1189. 0035 74C8              MOV     A,#0C8H
  1190. 0037 7800        E     MOV     R0,#LOW usTaskCnt+01H
  1191. 0039 96                SUBB    A,@R0
  1192. 003A E4                CLR     A
  1193. 003B 18                DEC     R0
  1194. 003C 96                SUBB    A,@R0
  1195. 003D 5003              JNC     ?C0055
  1196. 003F 120000      E     LCALL   Show_Note
  1197.                                            ; SOURCE LINE # 465
  1198.                                            ; SOURCE LINE # 471
  1199. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 21  
  1200. 0042         ?C0055:
  1201.                                            ; SOURCE LINE # 473
  1202. 0042 7800        E     MOV     R0,#LOW ucOSD_Page_Index
  1203. 0044 E6                MOV     A,@R0
  1204. 0045 7022              JNZ     ?C0059
  1205. 0047 20001F      E     JB      b_rgb_VOLUME_STATUS,?C0059
  1206.                                            ; SOURCE LINE # 474
  1207.                                            ; SOURCE LINE # 475
  1208. 004A 7800        E     MOV     R0,#LOW usTaskCnt+01H
  1209. 004C E6                MOV     A,@R0
  1210. 004D 64C8              XRL     A,#0C8H
  1211. 004F 18                DEC     R0
  1212. 0050 46                ORL     A,@R0
  1213. 0051 7008              JNZ     ?C0060
  1214.                                            ; SOURCE LINE # 476
  1215.                                            ; SOURCE LINE # 478
  1216.                                            ; SOURCE LINE # 479
  1217.                                            ; SOURCE LINE # 480
  1218. 0053 120000      R     LCALL   L?0101
  1219. 0056 120000      E     LCALL   _RTDOSDW
  1220.                                            ; SOURCE LINE # 481
  1221. 0059 8020              SJMP    ?C0063
  1222. 005B         ?C0060:
  1223.                                            ; SOURCE LINE # 482
  1224. 005B 7800        E     MOV     R0,#LOW usTaskCnt+01H
  1225. 005D E6                MOV     A,@R0
  1226. 005E 6464              XRL     A,#064H
  1227. 0060 18                DEC     R0
  1228. 0061 46                ORL     A,@R0
  1229. 0062 7017              JNZ     ?C0063
  1230.                                            ; SOURCE LINE # 483
  1231.                                            ; SOURCE LINE # 484
  1232. 0064 120000      E     LCALL   Show_Hint
  1233.                                            ; SOURCE LINE # 485
  1234.                                            ; SOURCE LINE # 492
  1235. 0067 8012              SJMP    ?C0063
  1236. 0069         ?C0059:
  1237.                                            ; SOURCE LINE # 493
  1238. 0069 E500        R     MOV     A,message
  1239. 006B 700E              JNZ     ?C0063
  1240.                                            ; SOURCE LINE # 494
  1241.                                            ; SOURCE LINE # 496
  1242. 006D 7800        E     MOV     R0,#LOW usOSD_Timer+01H
  1243. 006F E6                MOV     A,@R0
  1244. 0070 18                DEC     R0
  1245. 0071 46                ORL     A,@R0
  1246. 0072 7007              JNZ     ?C0063
  1247. 0074 E500        E     MOV     A,stGUD1+06H
  1248. 0076 6003              JZ      ?C0063
  1249.                                            ; SOURCE LINE # 497
  1250.                                            ; SOURCE LINE # 498
  1251. 0078 750082      R     MOV     message,#082H
  1252.                                            ; SOURCE LINE # 499
  1253.                                            ; SOURCE LINE # 500
  1254. 007B         ?C0063:
  1255.                                            ; SOURCE LINE # 502
  1256. 007B E500        R     MOV     A,message
  1257. 007D 14                DEC     A
  1258. 007E 6029              JZ      ?C0071
  1259. 0080 24E7              ADD     A,#0E7H
  1260. 0082 6025              JZ      ?C0071
  1261. 0084 2498              ADD     A,#098H
  1262. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 22  
  1263. 0086 7060              JNZ     ?C0082
  1264.                                            ; SOURCE LINE # 503
  1265.                                            ; SOURCE LINE # 504
  1266. 0088         ?C0067:
  1267.                                            ; SOURCE LINE # 506
  1268. 0088 7800        E     MOV     R0,#LOW ucOSD_Page_Index
  1269. 008A E6                MOV     A,@R0
  1270. 008B 7006              JNZ     ?C0069
  1271. 008D 200003      E     JB      b_rgb_VOLUME_STATUS,$ + 6H
  1272. 0090 020000      R     LJMP    ?C0094
  1273. 0093         ?C0069:
  1274.                                            ; SOURCE LINE # 507
  1275.                                            ; SOURCE LINE # 509
  1276. 0093 E4                CLR     A
  1277. 0094 7800        E     MOV     R0,#LOW ucOSD_Page_Index
  1278. 0096 F6                MOV     @R0,A
  1279.                                            ; SOURCE LINE # 510
  1280.                                            ; SOURCE LINE # 511
  1281.                                            ; SOURCE LINE # 512
  1282. 0097 120000      R     LCALL   L?0108
  1283.                                            ; SOURCE LINE # 514
  1284. 009A C200        E     CLR     b_rgb_VOLUME_STATUS
  1285.                                            ; SOURCE LINE # 516
  1286. 009C 120000      R     LCALL   L?0107
  1287.                                            ; SOURCE LINE # 519
  1288. 009F 120000      R     LCALL   L?0106
  1289.                                            ; SOURCE LINE # 520
  1290. 00A2 7E00        E     MOV     R6,#HIGH OSD_Reset
  1291. 00A4 7F00        E     MOV     R7,#LOW OSD_Reset
  1292. 00A6 020000      E     LJMP    _RTDOSDW
  1293.                                            ; SOURCE LINE # 521
  1294.                                            ; SOURCE LINE # 522
  1295.                                            ; SOURCE LINE # 544
  1296.                                            ; SOURCE LINE # 545
  1297. 00A9         ?C0071:
  1298.                                            ; SOURCE LINE # 546
  1299. 00A9 E500        E     MOV     A,stGUD1+01H
  1300. 00AB 5407              ANL     A,#07H
  1301. 00AD 7004              JNZ     ?C0072
  1302.                                            ; SOURCE LINE # 547
  1303.                                            ; SOURCE LINE # 549
  1304. 00AF 7F01              MOV     R7,#01H
  1305.                                            ; SOURCE LINE # 553
  1306. 00B1 8032              SJMP    ?C0100
  1307. 00B3         ?C0072:
  1308.                                            ; SOURCE LINE # 554
  1309. 00B3 E500        E     MOV     A,stGUD1+01H
  1310. 00B5 5407              ANL     A,#07H
  1311. 00B7 FF                MOV     R7,A
  1312. 00B8 BF0104            CJNE    R7,#01H,?C0074
  1313.                                            ; SOURCE LINE # 555
  1314. 00BB 7F02              MOV     R7,#02H
  1315. 00BD         ?C0096:
  1316. 00BD 8026              SJMP    ?C0100
  1317. 00BF         ?C0074:
  1318.                                            ; SOURCE LINE # 556
  1319. 00BF E500        E     MOV     A,stGUD1+01H
  1320. 00C1 5407              ANL     A,#07H
  1321. 00C3 FF                MOV     R7,A
  1322. 00C4 BF0204            CJNE    R7,#02H,?C0076
  1323.                                            ; SOURCE LINE # 557
  1324. 00C7 7F03              MOV     R7,#03H
  1325. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 23  
  1326. 00C9         ?C0097:
  1327. 00C9 801A              SJMP    ?C0100
  1328. 00CB         ?C0076:
  1329.                                            ; SOURCE LINE # 558
  1330. 00CB E500        E     MOV     A,stGUD1+01H
  1331. 00CD 5407              ANL     A,#07H
  1332. 00CF FF                MOV     R7,A
  1333. 00D0 BF0304            CJNE    R7,#03H,?C0078
  1334.                                            ; SOURCE LINE # 559
  1335.                                            ; SOURCE LINE # 563
  1336. 00D3 7F05              MOV     R7,#05H
  1337. 00D5         ?C0098:
  1338.                                            ; SOURCE LINE # 565
  1339. 00D5 800E              SJMP    ?C0100
  1340. 00D7         ?C0078:
  1341.                                            ; SOURCE LINE # 566
  1342. 00D7 E500        E     MOV     A,stGUD1+01H
  1343. 00D9 5407              ANL     A,#07H
  1344. 00DB FF                MOV     R7,A
  1345. 00DC BF0404            CJNE    R7,#04H,?C0080
  1346.                                            ; SOURCE LINE # 567
  1347.                                            ; SOURCE LINE # 568
  1348. 00DF 7F05              MOV     R7,#05H
  1349. 00E1         ?C0099:
  1350.                                            ; SOURCE LINE # 569
  1351. 00E1 8002              SJMP    ?C0100
  1352. 00E3         ?C0080:
  1353.                                            ; SOURCE LINE # 571
  1354.                                            ; SOURCE LINE # 572
  1355. 00E3 E4                CLR     A
  1356. 00E4 FF                MOV     R7,A
  1357. 00E5         ?C0100:
  1358. 00E5 020000      E     LJMP    _Change_Source
  1359.                                            ; SOURCE LINE # 573
  1360.                                            ; SOURCE LINE # 574
  1361.                                            ; SOURCE LINE # 576
  1362. 00E8         ?C0082:
  1363.                                            ; SOURCE LINE # 577
  1364.                                            ; SOURCE LINE # 579
  1365. 00E8 7800        E     MOV     R0,#LOW ucOSD_Page_Index
  1366. 00EA E6                MOV     A,@R0
  1367. 00EB F500        R     MOV     ucPage_Curr,A
  1368.                                            ; SOURCE LINE # 583
  1369. 00ED AF00        R     MOV     R7,message
  1370. 00EF 120000      E     LCALL   _OSD_Proc
  1371.                                            ; SOURCE LINE # 586
  1372. 00F2 7800        E     MOV     R0,#LOW ucOSD_Page_Index
  1373. 00F4 E6                MOV     A,@R0
  1374. 00F5 FF                MOV     R7,A
  1375. 00F6 6500        R     XRL     A,ucPage_Curr
  1376. 00F8 6037              JZ      ?C0083
  1377.                                            ; SOURCE LINE # 587
  1378.                                            ; SOURCE LINE # 588
  1379. 00FA EF                MOV     A,R7
  1380. 00FB 6026              JZ      ?C0084
  1381.                                            ; SOURCE LINE # 589
  1382.                                            ; SOURCE LINE # 590
  1383. 00FD E500        R     MOV     A,ucPage_Curr
  1384. 00FF 7016              JNZ     ?C0085
  1385.                                            ; SOURCE LINE # 591
  1386.                                            ; SOURCE LINE # 595
  1387. 0101 120000      R     LCALL   L?0107
  1388. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 24  
  1389.                                            ; SOURCE LINE # 596
  1390. 0104 7B01              MOV     R3,#01H
  1391. 0106 7DFF              MOV     R5,#0FFH
  1392. 0108 7F20              MOV     R7,#020H
  1393. 010A 120000      E     LCALL   _RTDSetBit
  1394.                                            ; SOURCE LINE # 597
  1395. 010D 120000      R     LCALL   L?0106
  1396.                                            ; SOURCE LINE # 598
  1397. 0110 7E00        E     MOV     R6,#HIGH OSD_Reset
  1398. 0112 7F00        E     MOV     R7,#LOW OSD_Reset
  1399. 0114 120000      E     LCALL   _RTDOSDW
  1400.                                            ; SOURCE LINE # 599
  1401. 0117         ?C0085:
  1402.                                            ; SOURCE LINE # 602
  1403. 0117 7F83              MOV     R7,#083H
  1404. 0119 120000      E     LCALL   _OSD_Proc
  1405.                                            ; SOURCE LINE # 604
  1406. 011C E500        R     MOV     A,ucPage_Curr
  1407. 011E 7048              JNZ     ?C0094
  1408.                                            ; SOURCE LINE # 605
  1409.                                            ; SOURCE LINE # 609
  1410. 0120 020000      E     LJMP    OSD_Opening
  1411.                                            ; SOURCE LINE # 610
  1412.                                            ; SOURCE LINE # 611
  1413. 0123         ?C0084:
  1414.                                            ; SOURCE LINE # 613
  1415.                                            ; SOURCE LINE # 616
  1416. 0123 E4                CLR     A
  1417.                                            ; SOURCE LINE # 617
  1418.                                            ; SOURCE LINE # 618
  1419. 0124 120000      R     LCALL   L?0108
  1420.                                            ; SOURCE LINE # 620
  1421. 0127 7D40              MOV     R5,#040H
  1422. 0129 7F02              MOV     R7,#02H
  1423. 012B 120000      E     LCALL   _RTDSetByte
  1424.                                            ; SOURCE LINE # 622
  1425. 012E 020000      E     LJMP    OSD_Ending
  1426.                                            ; SOURCE LINE # 625
  1427.                                            ; SOURCE LINE # 626
  1428. 0131         ?C0083:
  1429.                                            ; SOURCE LINE # 628
  1430.                                            ; SOURCE LINE # 630
  1431. 0131 7800        E     MOV     R0,#LOW ucOSD_Page_Index
  1432. 0133 E6                MOV     A,@R0
  1433. 0134 602E              JZ      ?C0089
  1434.                                            ; SOURCE LINE # 631
  1435.                                            ; SOURCE LINE # 632
  1436. 0136 E500        R     MOV     A,message
  1437. 0138 B48310            CJNE    A,#083H,?C0090
  1438.                                            ; SOURCE LINE # 633
  1439.                                            ; SOURCE LINE # 634
  1440. 013B 7E00        E     MOV     R6,#HIGH OSD_Enable
  1441. 013D 7F00        E     MOV     R7,#LOW OSD_Enable
  1442. 013F 120000      E     LCALL   _RTDCodeW
  1443.                                            ; SOURCE LINE # 635
  1444. 0142 7B01              MOV     R3,#01H
  1445. 0144 7DFE              MOV     R5,#0FEH
  1446. 0146 7F6D              MOV     R7,#06DH
  1447. 0148 120000      E     LCALL   _RTDSetBit
  1448.                                            ; SOURCE LINE # 636
  1449. 014B         ?C0090:
  1450.                                            ; SOURCE LINE # 639
  1451. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 25  
  1452. 014B E500        R     MOV     A,message
  1453. 014D 6403              XRL     A,#03H
  1454. 014F 6005              JZ      ?C0092
  1455. 0151 E500        R     MOV     A,message
  1456. 0153 B40412            CJNE    A,#04H,?C0094
  1457. 0156         ?C0092:
  1458.                                            ; SOURCE LINE # 640
  1459.                                            ; SOURCE LINE # 642
  1460. 0156 E4                CLR     A
  1461. 0157 FD                MOV     R5,A
  1462. 0158 7F01              MOV     R7,#01H
  1463. 015A 120000      E     LCALL   _RTDSetByte
  1464.                                            ; SOURCE LINE # 643
  1465. 015D E4                CLR     A
  1466. 015E FD                MOV     R5,A
  1467. 015F 7F1F              MOV     R7,#01FH
  1468. 0161 020000      E     LJMP    _RTDSetByte
  1469.                                            ; SOURCE LINE # 645
  1470.                                            ; SOURCE LINE # 657
  1471. 0164         ?C0089:
  1472.                                            ; SOURCE LINE # 659
  1473.                                            ; SOURCE LINE # 662
  1474. 0164 E4                CLR     A
  1475. 0165 7800        E     MOV     R0,#LOW ucStatus
  1476. 0167 F6                MOV     @R0,A
  1477.                                            ; SOURCE LINE # 666
  1478.                                            ; SOURCE LINE # 667
  1479.                                            ; SOURCE LINE # 668
  1480.                                            ; SOURCE LINE # 669
  1481.                                            ; SOURCE LINE # 670
  1482.                                            ; SOURCE LINE # 671
  1483. 0168         ?C0094:
  1484. 0168 22                RET     
  1485. 0169         L?0101:
  1486. 0169 7D40              MOV     R5,#040H
  1487. 016B 7F02              MOV     R7,#02H
  1488. 016D 120000      E     LCALL   _RTDSetByte
  1489. 0170 E4                CLR     A
  1490. 0171 FB                MOV     R3,A
  1491. 0172 7DFE              MOV     R5,#0FEH
  1492. 0174 7F6D              MOV     R7,#06DH
  1493. 0176 120000      E     LCALL   _RTDSetBit
  1494. 0179 7E00        E     MOV     R6,#HIGH OSD_Reset
  1495. 017B 7F00        E     MOV     R7,#LOW OSD_Reset
  1496. 017D 22                RET     
  1497. 017E         L?0102:
  1498. 017E 7D3F              MOV     R5,#03FH
  1499. 0180 7F6D              MOV     R7,#06DH
  1500. 0182 120000      E     LCALL   _RTDSetBit
  1501. 0185 E4                CLR     A
  1502. 0186 FB                MOV     R3,A
  1503. 0187 FD                MOV     R5,A
  1504. 0188 7F6C              MOV     R7,#06CH
  1505. 018A 120000      E     LCALL   _RTDSetBit
  1506. 018D 22                RET     
  1507. 018E         L?0106:
  1508. 018E E4                CLR     A
  1509. 018F FB                MOV     R3,A
  1510. 0190 7DFE              MOV     R5,#0FEH
  1511. 0192 7F6D              MOV     R7,#06DH
  1512. 0194 120000      E     LCALL   _RTDSetBit
  1513. 0197 22                RET     
  1514. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 26  
  1515. 0198         L?0107:
  1516. 0198 7D40              MOV     R5,#040H
  1517. 019A 7F02              MOV     R7,#02H
  1518. 019C 120000      E     LCALL   _RTDSetByte
  1519. 019F 22                RET     
  1520.              ; FUNCTION _OSD_Dispatcher (END)
  1521. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 27  
  1522. NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
  1523. ====                                    =====   ======  ====    ======  ====
  1524. _Change_Source . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1525. LP_GLOBAL_USER_DATA1 . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1526. RGB_MODE_USER_DATA . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  4
  1527.   H_POSITION . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1528.   V_POSITION . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1529.   CLOCK. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1530.   PHASE. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1531. LP_GLOBAL_USER_DATA2 . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1532. LP_GLOBAL_USER_DATA3 . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1533. GLOBAL_USER_DATA0. . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  8
  1534.   CONTRAST . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1535.   BRIGHT . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1536.   RTD_R_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1537.   RTD_G_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1538.   RTD_B_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1539.   RTD_R_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1540.   RTD_G_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1541.   RTD_B_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1542. P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
  1543. b_rgb_VOLUME_STATUS. . . . . . . . . .  EXTERN   DATA   BIT      -----  1
  1544. LP_GLOABL_USER_DATA4 . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1545. GLOBAL_USER_DATA1. . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  8
  1546.   FUNCTION . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1547.   INPUT_SOURCE . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1548.   FILTER . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1549.   OSD_POSH . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0003H  2
  1550.   OSD_POSV . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1551.   OSD_TIMEOUT. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1552.   OSD_INPUT. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1553. GLOBAL_USER_DATA2. . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  6
  1554.   AD_R_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1555.   AD_G_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1556.   AD_B_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1557.   AD_R_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1558.   AD_G_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1559.   AD_B_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1560. P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
  1561. GLOBAL_USER_DATA3. . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  5
  1562.   VOLUME . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1563.   CURR_CHANNEL . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1564.   PREV_CHANNEL . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1565.   TV_SETTING . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1566.   SPREAD . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1567. GLOBAL_USER_DATA4. . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  9
  1568.   C1_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1569.   C1_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1570.   C1_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1571.   C2_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1572.   C2_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1573.   C2_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1574.   C3_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1575.   C3_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1576.   C3_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0008H  1
  1577. Save_GUD3. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1578. _RTDOSDW . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1579. IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
  1580. _RTDSetByte. . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1581. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 28  
  1582. NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
  1583. ====                                    =====   ======  ====    ======  ====
  1584. OSD_Enable . . . . . . . . . . . . . .  EXTERN   CODE   ARRAY    -----  -----
  1585. Key_Trans. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  1586.   ucP3_Prev. . . . . . . . . . . . . .  STATIC   IDATA  U_CHAR   0000H  1
  1587.   ucP3_Curr. . . . . . . . . . . . . .  STATIC   IDATA  U_CHAR   0001H  1
  1588.   ucKey_Repeat . . . . . . . . . . . .  STATIC   IDATA  U_CHAR   0002H  1
  1589.   ucNotify . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  1590. Show_Hint. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1591. IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
  1592. LP_VIDEO_MODE_USER_DATA. . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1593. _RTDSetBit . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1594. Show_Note. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1595. OSD_Opening. . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1596. bKeyTurbo. . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
  1597. VIDEO_MODE_USER_DATA . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  4
  1598.   VBRIGHT. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1599.   VCONTRAST. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1600.   VSATURATION. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1601.   VHUE . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1602. OSD_Ending . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1603. _RTDCodeW. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1604. usTaskCnt. . . . . . . . . . . . . . .  EXTERN   IDATA  U_INT    -----  2
  1605. bRIGHT_KEY . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
  1606. SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
  1607. usOSD_Timer. . . . . . . . . . . . . .  EXTERN   IDATA  U_INT    -----  2
  1608. _OSD_Dispatcher. . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  1609.   message. . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  1610.   ucPage_Curr. . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  1611. TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
  1612. _OSD_Proc. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1613. bReload. . . . . . . . . . . . . . . .  EXTERN   DATA   BIT      -----  1
  1614. ucOSD_Item_Index0. . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
  1615. ucOSD_Item_Index1. . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
  1616. ucOSD_Item_Index2. . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
  1617. OSD_Reset. . . . . . . . . . . . . . .  EXTERN   CODE   ARRAY    -----  -----
  1618. GetKeyState. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  1619.   ucKeyState . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  1620. M512_Port60. . . . . . . . . . . . . .  EXTERN   XDATA  U_CHAR   -----  1
  1621. ucKey_Issued . . . . . . . . . . . . .  PUBLIC   IDATA  U_CHAR   0003H  1
  1622. M512_Port54. . . . . . . . . . . . . .  EXTERN   XDATA  U_CHAR   -----  1
  1623. M512_Port55. . . . . . . . . . . . . .  EXTERN   XDATA  U_CHAR   -----  1
  1624. bLEFT_KEY. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
  1625. bPower_Status. . . . . . . . . . . . .  EXTERN   DATA   BIT      -----  1
  1626. ucMode_Curr. . . . . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
  1627. _RGB_MODE_USER_DATA. . . . . . . . . .  * TAG *  -----  STRUCT   -----  4
  1628.   H_POSITION . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1629.   V_POSITION . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1630.   CLOCK. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1631.   PHASE. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1632. _GLOBAL_USER_DATA0 . . . . . . . . . .  * TAG *  -----  STRUCT   -----  8
  1633.   CONTRAST . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1634.   BRIGHT . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1635.   RTD_R_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1636.   RTD_G_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1637.   RTD_B_CONTRAST . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1638.   RTD_R_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1639.   RTD_G_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1640.   RTD_B_BRIGHT . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1641. C51 COMPILER V7.06   LCD_MSG                                                               11/21/2005 13:47:29 PAGE 29  
  1642. NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
  1643. ====                                    =====   ======  ====    ======  ====
  1644. ucStatus . . . . . . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
  1645. _GLOBAL_USER_DATA1 . . . . . . . . . .  * TAG *  -----  STRUCT   -----  8
  1646.   FUNCTION . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1647.   INPUT_SOURCE . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1648.   FILTER . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1649.   OSD_POSH . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0003H  2
  1650.   OSD_POSV . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1651.   OSD_TIMEOUT. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1652.   OSD_INPUT. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1653. _GLOBAL_USER_DATA2 . . . . . . . . . .  * TAG *  -----  STRUCT   -----  6
  1654.   AD_R_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1655.   AD_G_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1656.   AD_B_GAIN. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1657.   AD_R_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1658.   AD_G_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1659.   AD_B_OFFSET. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1660. _GLOBAL_USER_DATA3 . . . . . . . . . .  * TAG *  -----  STRUCT   -----  5
  1661.   VOLUME . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1662.   CURR_CHANNEL . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1663.   PREV_CHANNEL . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1664.   TV_SETTING . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1665.   SPREAD . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1666. _GLOBAL_USER_DATA4 . . . . . . . . . .  * TAG *  -----  STRUCT   -----  9
  1667.   C1_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1668.   C1_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1669.   C1_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1670.   C2_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1671.   C2_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  1672.   C2_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  1673.   C3_R . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  1674.   C3_G . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  1675.   C3_B . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0008H  1
  1676. T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
  1677. _Delay_Xms . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
  1678. stGUD1 . . . . . . . . . . . . . . . .  EXTERN   DATA   STRUCT   -----  8
  1679. PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1
  1680. ucOSD_Page_Index . . . . . . . . . . .  EXTERN   IDATA  U_CHAR   -----  1
  1681. stGUD3 . . . . . . . . . . . . . . . .  EXTERN   DATA   STRUCT   -----  5
  1682. _VIDEO_MODE_USER_DATA. . . . . . . . .  * TAG *  -----  STRUCT   -----  4
  1683.   VBRIGHT. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  1684.   VCONTRAST. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  1685.   VSATURATION. . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  1686.   VHUE . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  1687. LP_RGB_MODE_USER_DATA. . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1688. LP_GLOBAL_USER_DATA0 . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
  1689. MODULE INFORMATION:   STATIC OVERLAYABLE
  1690.    CODE SIZE        =    860    ----
  1691.    CONSTANT SIZE    =   ----    ----
  1692.    XDATA SIZE       =   ----    ----
  1693.    PDATA SIZE       =   ----    ----
  1694.    DATA SIZE        =   ----       3
  1695.    IDATA SIZE       =      4    ----
  1696.    BIT SIZE         =      1    ----
  1697. END OF MODULE INFORMATION.
  1698. C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)