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

📄 al242_decoder.lst

📁 基于averlogic公司的AL320的AUO 2.4" SRGB屏的驱动程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
 259   1                              if (gucDisplayMode==MODE2){
 260   1                                      SetReg(SLAVE_ADDRESS_AL242, 0x30,0x1b);
 261   1                                      }
 262   1                      }
 263   1                      else{
 264   1                          ucTemp = GetReg(SLAVE_ADDRESS_AL242, 0x03);
 265   1                              ucTemp &= 0xf8;         // 2d filter for PAL...                                           
 266   1                              SetReg(SLAVE_ADDRESS_AL242, 0x03, ucTemp);
 267   1                      }
 268   1              }
 269   1              else {
 270   1                      
 271   1                      ucTemp = GetReg(SLAVE_ADDRESS_AL242, 0x03);
 272   1                      ucTemp &= 0xf8;
 273   1                      ucTemp |= (VideoSpec[ADAPTIVE_MODE][uiVideoModeX]&0x87);//jason         9/27
 274   1                      SetReg(SLAVE_ADDRESS_AL242, 0x03, ucTemp);
 275   1      
 276   1              }
 277   1              */
 278   1                      AL242_SoftWareReset(); 
 279   1              
 280   1                               
 281   1              ucTemp = GetReg(SLAVE_ADDRESS_AL242, 0x0f);
 282   1          ucTemp &= 0xc0;
 283   1              ucTemp |= VideoSpec[CAUTOPOS][uiVideoModeX];
 284   1              SetReg(SLAVE_ADDRESS_AL242, 0x0f, ucTemp);
 285   1      
 286   1              ucTemp = GetReg(SLAVE_ADDRESS_AL242, 0x82);
 287   1              ucTemp &= 0xef;
 288   1              ucTemp |= VideoSpec[COMB_WIDE_BAND][uiVideoModeX] << 4;
 289   1              SetReg(SLAVE_ADDRESS_AL242, 0x82, ucTemp);      
 290   1      
 291   1      
 292   1       
 293   1              ucTemp = GetReg(SLAVE_ADDRESS_AL242, 0x07);
 294   1              ucTemp &= 0xcf;
 295   1              ucTemp |= 0x20;
 296   1              SetReg(SLAVE_ADDRESS_AL242,0x07, ucTemp);
 297   1      
 298   1              SetReg(SLAVE_ADDRESS_AL242, 0x0c, 0x8a);
 299   1                      
 300   1              uiVideoStandard = uiVideoModeX;
 301   1      
C51 COMPILER V7.50   AL242_DECODER                                                         08/11/2008 14:05:28 PAGE 6   

 302   1              SetReg(SLAVE_ADDRESS_AL320, 0xff, 0x01); //Switch to Page2
 303   1      }  
 304          // ********************************************************************************
 305          // Function:   SetupAL242EVBVideoMode;                  
 306          // Description:  Setup AL242EVB to assigned video standard  
 307          // Input parameters:  uiVideoFormatX
 308          //                              NTSC_M              0
 309          //                              NTSC_443                1
 310          //                              PAL_I                   2
 311          //                              PAL_M                   3
 312          //                              PAL_N                   4
 313          //                              SECAMx              5
 314          //                              PAL_CN              6
 315          //                              PAL_60              7
 316          //                              NTSC_J              8  
 317          // Return values:   None
 318          // ********************************************************************************
 319          void AL242_SetupEVBVideoMode(Word uiVideoFormatX)
 320          {
 321   1         static Byte cData=0,ucTemp;
 322   1      //  ucTemp = EEPROMRead(BANK0, VIDEOSTANDARD_SAVE);
 323   1       
 324   1              switch(uiVideoFormatX){   
 325   2              case PAL_M:
 326   2      //                              if (gucDisplayMode == MODE1)
 327   2                                              InitReg(AL320_INO_NTSC_M_1);
 328   2      //                              else
 329   2      //                                      InitReg(AL320_INO_NTSC_M_2);
 330   2                                      gucVideoStandard = PAL_MODE;                                                    
 331   2                                      break;
 332   2              case NTSC_M:    
 333   2              case NTSC_J:
 334   2              case PAL_60:
 335   2                                      
 336   2      //                              if (gucDisplayMode == MODE1)
 337   2                                              InitReg(AL320_INO_NTSC_M_1);
 338   2      //                              else
 339   2      //                                      InitReg(AL320_INO_NTSC_M_2);
 340   2                                      
 341   2                                              
 342   2                                      gucVideoStandard = NTSC_MODE;
 343   2              
 344   2                              break;
 345   2              case NTSC_443:
 346   2      //                              if (gucDisplayMode == MODE1)
 347   2                                              InitReg(AL320_INO_NTSC_M_1);
 348   2      //                              else
 349   2      //                                      InitReg(AL320_INO_NTSC_M_2);
 350   2                                      gucVideoStandard = NTSC_MODE;
 351   2                              
 352   2                      break; 
 353   2          case PAL_N:
 354   2      //                      if (gucDisplayMode == MODE1)
 355   2                                              InitReg(AL320_INO_PAL_M_1);
 356   2      //                              else
 357   2      //                                      InitReg(AL320_INO_PAL_M_2);
 358   2                                      gucVideoStandard = PAL_MODE;
 359   2                    
 360   2                      break;
 361   2              case PAL_CN: 
 362   2      //                              if (gucDisplayMode == MODE1)
 363   2                                              InitReg(AL320_INO_PAL_M_1);
C51 COMPILER V7.50   AL242_DECODER                                                         08/11/2008 14:05:28 PAGE 7   

 364   2      //                              else
 365   2      //                                      InitReg(AL320_INO_PAL_M_2);
 366   2                                      gucVideoStandard = PAL_MODE;
 367   2                              
 368   2                                      break;
 369   2              case PAL_I:
 370   2                                      if(gbFirstLoadData){
 371   3                                              if(cData==1)
 372   3                                                      gbFirstLoadData=FALSE;
 373   3                                              cData=1;
 374   3      
 375   3                                              if(ucTemp==NTSC_MODE){
 376   4                                                      
 377   4      //                                              if (gucDisplayMode == MODE1)
 378   4                                                              InitReg(AL320_INO_PAL_M_1);
 379   4      //                                              else
 380   4      //                                                      InitReg(AL320_INO_PAL_M_2);
 381   4                                              }
 382   3                                              
 383   3                                              }
 384   2                                      else{
 385   3                                              
 386   3      //                                      if (gucDisplayMode == MODE1)
 387   3                                                      
 388   3                                                      InitReg(AL320_INO_PAL_M_1);
 389   3      //                                      else
 390   3      //                                              InitReg(AL320_INO_PAL_M_2);
 391   3                                              }
 392   2                                              gucVideoStandard = PAL_MODE;
 393   2                                              SetReg(SLAVE_ADDRESS_AL242, 0x17, 0x0b);        
 394   2                                      
 395   2                                      break;
 396   2              case SECAMx:
 397   2                                      
 398   2      //                              if (gucDisplayMode == MODE1)
 399   2                                              InitReg(AL320_INO_PAL_M_1);
 400   2      //                              else
 401   2      //                                      InitReg(AL320_INO_PAL_M_2);
 402   2       
 403   2                              gucVideoStandard = PAL_MODE;
 404   2                              
 405   2                                      break;
 406   2              }
 407   1      //              EEPROMWrite(BANK0, VIDEOSTANDARD_SAVE, gucVideoStandard);
 408   1      
 409   1      }
 410          
 411          // ********************************************************************************
 412          // Function:   InputChannelSelectAL242;                  
 413          // Description:  Switching AL242 decoder input channel                                                      
 414          // Input parameters:    _InputChannelX:
 415          //                                      INPUT0: CVBS0 
 416          //                                      INPUT1: SVideo_0
 417          //                                              INPUT2: Component_1
 418          //                                              INPUT3: NULL
 419          // Return values:     _Input been assign=_InputChannelX.
 420          // ******************************************************************************** 
 421          void AL242_InputChannelSelect(Byte  ucInputChannelX){ 
 422   1              
 423   1              Byte ucTemp;
 424   1              SetReg(SLAVE_ADDRESS_AL242, 0xff, 0x00);
 425   1              switch(ucInputChannelX & 0x03){
C51 COMPILER V7.50   AL242_DECODER                                                         08/11/2008 14:05:28 PAGE 8   

 426   2      
 427   2                      case INPUT0://_CVBS0:
 428   2      
 429   2                          ucTemp = 0x20;
 430   2                              SetReg(SLAVE_ADDRESS_AL242, 0x07, ucTemp);      
 431   2      
 432   2                      
 433   2                          ucTemp = GetReg(SLAVE_ADDRESS_AL242, 0x00);
 434   2                              ucTemp &= 0xfe;
 435   2                              SetReg(SLAVE_ADDRESS_AL242, 0x00, ucTemp);
 436   2      
 437   2              
 438   2                          ucTemp = GetReg(SLAVE_ADDRESS_AL242, 0x01);
 439   2                              ucTemp &= 0x3f;  
 440   2                          SetReg(SLAVE_ADDRESS_AL242, 0x01, ucTemp);
 441   2                              
 442   2                              SetReg(SLAVE_ADDRESS_AL242, 0xff, 0x01); //for CVBS1 
 443   2                              SetReg(SLAVE_ADDRESS_AL242, 0x29, 0x01);
 444   2      
 445   2                              
 446   2                              SetReg(SLAVE_ADDRESS_AL242, 0xff, 0x00);
 447   2        
 448   2                              break;                                  
 449   2      /*  
 450   2                      case INPUT1://_SVideo0:
 451   2      
 452   2                          ucTemp = 0x20;
 453   2                              SetReg(SLAVE_ADDRESS_AL242, 0x07, ucTemp);
 454   2      
 455   2                              ucTemp = GetReg(SLAVE_ADDRESS_AL242, 0x00);
 456   2                              ucTemp |= 0x01;
 457   2                              SetReg(SLAVE_ADDRESS_AL242, 0x00, ucTemp);
 458   2                              
 459   2                      
 460   2                              ucTemp = GetReg(SLAVE_ADDRESS_AL242, 0x01);
 461   2                              ucTemp &= 0x3f;
 462   2                              SetReg(SLAVE_ADDRESS_AL242, 0x01, ucTemp);
 463   2      
 464   2                              SetReg(SLAVE_ADDRESS_AL242, 0xff, 0x01);  
 465   2      
 466   2                              #ifdef AL320EVB 
 467   2                              SetReg(SLAVE_ADDRESS_AL242, 0x29, 0x00);//for SVIDEO1
 468   2                              #else
 469   2                              SetReg(SLAVE_ADDRESS_AL242, 0x29, 0x00);//for SVIDEO0
 470   2                              #endif
 471   2                              
 472   2                              
 473   2                              SetReg(SLAVE_ADDRESS_AL242, 0xff, 0x00);
 474   2      
 475   2                              break;
 476   2      
 477   2                  case INPUT2://_Component1:
 478   2       
 479   2                          
 480   2                              ucTemp = 0x23;
 481   2                              SetReg(SLAVE_ADDRESS_AL242, 0x07, ucTemp);       
 482   2                                                                       
 483   2                              ucTemp = GetReg(SLAVE_ADDRESS_AL242, 0x01);
 484   2                              ucTemp &= 0x3f;
 485   2                              ucTemp |= 0x41;
 486   2                              SetReg(SLAVE_ADDRESS_AL242, 0x01, ucTemp);
 487   2                              
C51 COMPILER V7.50   AL242_DECODER                                                         08/11/2008 14:05:28 PAGE 9   

 488   2                              SetReg(SLAVE_ADDRESS_AL242, 0xff, 0x01);  
 489   2                              SetReg(SLAVE_ADDRESS_AL242, 0x29, 0x00);
 490   2                              if(gucVideoStandard==PAL_MODE)
 491   2                              SetReg(SLAVE_ADDRESS_AL242, 0x01, 0x05);
 492   2                              
 493   2                              SetReg(SLAVE_ADDRESS_AL242, 0xff, 0x00);
 494   2                               
 495   2                              break;
 496   2       
 497   2                      case INPUT3: 
 498   2      
 499   2                          break;
 500   2      */
 501   2              }
 502   1              
 503   1                              
 504   1      }
 505          
 506          
 507          
 508          void UpdateStandard(void)
 509          {
 510   1              
 511   1       
 512   1              if (cNewStandard != cCurStandard)
 513   1              {
 514   2                      cCurStandard = cNewStandard ;
 515   2                      if (bUpdateStandard) 
 516   2                              {               
 517   3                              AL242_SetupEVBVideoMode(cNewStandard);
 518   3      //                      AL320_LoadingSystem();
 519   3                              
 520   3                              AL242_SetupVideoModeX(cNewStandard, gucInputChannel);
 521   3                              bUpdateStandard = 0;
 522   3      //              GetSignalStatus();
 523   3                              }
 524   2              }
 525   1      }
 526          
 527          char CheckModeLock(void)

⌨️ 快捷键说明

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