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

📄 sync.lst

📁 MST720-DEMO程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 870   1              if (tOSDSourcSELSequence[Display.ucSourceSEL] <= SVIDEO2)
 871   1              {
 872   2                      //if((mstReadByte(BK0_18_INTSTA) & 0x0D) != 0)  // 20050809 Antony
 873   2                      if((mstReadByte(BK0_18_INTSTA) & 0x0C) != 0)    // 20050905
 874   2                              ucSyncStatus |= SYNC_LOSS_MASK;
 875   2              }
 876   1              #if 0 //RS232DBG
                              sysWriteString("sd4: ");
                              sysWriteHex(ucSyncStatus, 1);
                              sysWriteString(tChangeLine);
                      #endif  //RS232DBG
 881   1              
 882   1      #if !DEMODULELATOR_MODE
                      if (tOSDSourcSELSequence[Display.ucSourceSEL] <= SVIDEO2)
                      {
                              mstWriteByte(GEN_00_REGBK, REGBANKVCF); // Switch bank3 VCF
                              
                              ucSyncTemp = mstReadByte(BK3_70_COMB_STSA);
                              
                              if ((ucSyncTemp & 0x0D) != 0)           // check bit3,2,0 for no signal input
                              {
                                      ucSyncStatus |= SYNC_LOSS_MASK;
                              }
                              else
                              {
                                      ucSyncTemp = mstReadByte(BK3_72_COMB_STSC) & 0x07;      // Check BK3.72h[2:0]
                                      if(ucSyncTemp == 0x01)                          // If video mode is NTSC(443)
                                      {
                                              //mstWriteByte(GEN_00_REGBK, REGBANKVFE);       // Switch to Bank2 VFE
                                              //ucSyncTemp = mstReadByte(0x02) & 0x03;        // Check BK2.02h[1:0]
                                              //if(ucSyncTemp == 0x02)                        // If TV system is PAL
                                                      ucSyncStatus |= DEMODULATION_MODE1_B;
                                      }
                              }
                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // Switch bank0 Scaler
                      }
              #endif  // !DEMODULELATOR_MODE
 907   1      
 908   1      #if ((MARIA_TYPE_SEL == MARIA_2) && ENABLE_NEW_SYNC)
 909   1                      mstWriteByte(GEN_00_REGBK, ucBank);
 910   1      #endif
 911   1      
 912   1      
 913   1              return ucSyncStatus;
 914   1      
 915   1      }
 916          
 917          void mstSyncChangeHandler(void)
C51 COMPILER V7.50   SYNC                                                                  03/18/2008 22:29:09 PAGE 16  

 918          {
 919   1              BYTE ucTemp;
 920   1      
 921   1              //mstPatchFullOddField();//keivn for full odd field
 922   1      
 923   1              if ((g_ucSystemFlag&INPUT_TIMING_CHANGE_FLAG) == 0)     // If timing no chang than return
 924   1                      return;
 925   1      
 926   1      #if (MARIA_TYPE_SEL == MARIA_1)
                      mstWriteByte(GEN_00_REGBK, REGBANKVFE);         //Switch bank2 VFE
                      mstWriteByte(BK2_4D_BRST_WINDOW2, 0x40);        // (20050609)
                      mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      //Switch bank0 Scaler
              
                      ucTemp = mstReadByte(BK0_57_OSCTRL1);           // 20050812 Antony
                      ucTemp &= ~_BIT0;                               // clear BIT0
                      ucTemp |= _BIT1;                                        // Set BIT1
                      mstWriteByte(BK0_57_OSCTRL1, ucTemp);           // 20050812 Antony
              #endif
 936   1      
 937   1      #if 0 //((MARIA_TYPE_SEL == MARIA_2) && (PANEL_WIDTH > 720))
                      if ((tOSDSourcSELSequence[Display.ucSourceSEL] <= SVIDEO2))
                      {
                              mstWriteByte(GEN_00_REGBK, REGBANKVFE);         //Switch bank2 VFE
                              mstWriteByte(BK2_7B_656_HDEW, 0xE0);
                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      //Switch bank0 Scaler
                      }
              #endif
 945   1      
 946   1              ucTemp = mstReadByte(BK0_1E_INTSTD);
 947   1      
 948   1      #if((MARIA_TYPE_SEL == MARIA_2) && ENABLE_NEW_SYNC)
 949   1              if (((ucTemp & 0x1F) != 0)) //&&  (tOSDSourcSELSequence[Display.ucSourceSEL] > SVIDEO2))
 950   1      #else
                      if ((ucTemp & 0x1F) != 0) 
              #endif
 953   1              {
 954   2                      // 20050722 added by Antony for VCR mode detect
 955   2              #if (MARIA_TYPE_SEL == MARIA_1)
                              if ((tOSDSourcSELSequence[Display.ucSourceSEL] <= SVIDEO2))
                              {
                                      mstWriteByte(GEN_00_REGBK, REGBANKVFE);         // Switch bank2 VFE
                                      if((mstReadByte(BK2_03_STATUS3) & 0x80) != 0)           // if VCR mode detect
                                      {
                                              g_bVCRMode = 1; //20050921 for VCR
                                              mstWriteByte(BK2_76_656_CTRL1, 0x02);           // Enable 656 mode
                                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // Switch bank0 Scaler
                                      
                                              //---------------20050921 for VCR------------------------------------
                                              //mstWriteByte(BK0_E8_HSTOL, 0x3F);             // Set HSync. tolerance to MAX.
                                              mstWriteByte(GEN_00_REGBK, REGBANKVCF); // Switch bank3 comb filter
                                              mstWriteByte(BK3_10_COMBCFGA, 0x00);            // set 1D(Notch) mode
                                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // Switch bank0 Scaler
                                              //---------------20050921 for VCR------------------------------------
                                      }
                                      else
                                      {
                                              g_bVCRMode = 0; //20050921 for VCR
                                              mstWriteByte(BK2_76_656_CTRL1, 0x00);           // disable 656 mode
                                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // Switch bank0 Scaler
                                              mstWriteByte(BK0_E8_HSTOL, 0x05);               // Set HSync. tolerance to default
              
                                              //---------------20050921 for VCR------------------------------------
C51 COMPILER V7.50   SYNC                                                                  03/18/2008 22:29:09 PAGE 17  

                                              mstWriteByte(GEN_00_REGBK, REGBANKVCF); // Switch bank3 comb filter
                                              mstWriteByte(BK3_10_COMBCFGA, 0x02);            // // set 2D comb filter mode
                                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);      // Switch bank0 Scaler
                                              //---------------20050921 for VCR------------------------------------
                                      }
                              }
                              else if(tOSDSourcSELSequence[Display.ucSourceSEL] == CCIR656)
                      #else
 988   2                      if ((tOSDSourcSELSequence[Display.ucSourceSEL] <= SVIDEO2))
 989   2                      {
 990   3                              mstWriteByte(GEN_00_REGBK, REGBANKVFE);         // Switch bank2 VFE
 991   3                              if((mstReadByte(BK2_03_STATUS3) & 0x80) != 0)           // if VCR mode detect
 992   3                              {
 993   4                                      g_bVCRMode = 1; //20050921 for VCR
 994   4                              }
 995   3                              else
 996   3                              {
 997   4                                      g_bVCRMode = 0; //20050921 for VCR
 998   4                              }
 999   3      
1000   3                              mstWriteByte(GEN_00_REGBK, REGBANKSCALER);              // Switch bank0
1001   3                              if((mstReadByte(BK0_EF_STATUS2) & _BIT2+_BIT3) == 0x04)         // if all odd field detect
1002   3                              {
1003   4                                      g_bAllOddFiled = 1;     //20051031 for all odd field
1004   4                              }
1005   3                              else
1006   3                              {
1007   4                                      g_bAllOddFiled = 0;     //200510311 for all odd field
1008   4                              }
1009   3                              
1010   3                      }
1011   2                      else if((tOSDSourcSELSequence[Display.ucSourceSEL] == CCIR656) && (g_ucSyncStableCounter == 0))
1012   2              #endif
1013   2                      // 20050722 add by Antony for CCIR656 display abnormal
1014   2                      
1015   2                      {
1016   3                              mstWriteByte(BK0_E2_SWRST0, 0x20);                      // Reset Digital input port
1017   3                              miscDelay1ms(20);
1018   3                              mstWriteByte(BK0_E2_SWRST0, 0x00);
1019   3                              miscDelay1ms(50);
1020   3                      }
1021   2                      mstWriteByte(BK0_18_INTSTA, 0x00);
1022   2                      mstWriteByte(BK0_1E_INTSTD, 0x00);
1023   2      
1024   2                      if(g_ucSyncStableCounter > SYNC_CHECK_TIMES)
1025   2                      {
1026   3                              g_ucSystemFlag |= NO_INPUT_SIGNAL_FLAG;
1027   3                              g_ucSystemFlag &= ~INPUT_TIMING_CHANGE_FLAG;
1028   3                              
1029   3                              if ((Display.ucSystemStauts & POWER_STATUS_FLAG)!=0)
1030   3                              {
1031   4                                      miscTurnOnPanel();
1032   4                                      SET_LED_ON();
1033   4      
1034   4                                      if ((g_ucSystemFlag & FIRST_AC_ON_FLAG) != FALSE)       //20050908 kevin
1035   4                                      {
1036   5                                              g_ucSystemFlag &= ~FIRST_AC_ON_FLAG;    
1037   5                                              osdOsdInitial();
1038   5                                              //osdOSDDrawSourceLable();
1039   5                                      }
1040   4                              }
1041   3                              else
C51 COMPILER V7.50   SYNC                                                                  03/18/2008 22:29:09 PAGE 18  

1042   3                              {
1043   4                                      mstPowerManagement(PM_POWER_OFF);
1044   4                              }
1045   3                      }
1046   2                      else
1047   2                              g_ucSyncStableCounter++;
1048   2              
1049   2                      return;
1050   2                      
1051   2              }
1052   1              else
1053   1              {
1054   2                      g_ucSyncStatus = mstSyncDetect();
1055   2              
1056   2                      if (((g_ucSyncStatus&SYNC_LOSS_MASK)!=0) && (g_ucSyncStableCounter < SYNC_CHECK_TIMES))
1057   2                      {
1058   3                              g_ucSyncStableCounter++;
1059   3                              g_ucSystemFlag &= ~INPUT_SIGNAL_STABLE_FLAG;
1060   3                              return;
1061   3                      }
1062   2                      else
1063   2                      {
1064   3                              if ((g_ucSyncStatus&SYNC_LOSS_MASK)!=0)
1065   3                              {
1066   4                                      g_ucSystemFlag |= NO_INPUT_SIGNAL_FLAG;
1067   4                              #if RS232DBG
1068   4                                      sysWriteString("No Signal Input !\x0d\x0a");
1069   4                              #endif  //RS232DBG
1070   4                              
1071   4                              #if (MARIA_TYPE_SEL == MARIA_1)
                                              mstResetVedioDecoder();//20050905
                                      #endif
1074   4                              }
1075   3                              else
1076   3                              {
1077   4                                      if((g_ucSystemFlag & INPUT_SIGNAL_STABLE_FLAG)==0)
1078   4                                      {
1079   5                                      #if(MARIA_TYPE_SEL == MARIA_1)
                                                      mstWriteByte(GEN_00_REGBK, REGBANKVFE);//20050902
                                                      mstWriteByte(BK2_43_AGC_CTRL1, 0x14);//20050902
                                                      mstWriteByte(GEN_00_REGBK, REGBANKSCALER);//20050902
                                                      mstSyncVDGainHandler(1);
                                              #endif
1085   5                                              g_ucSyncStableCounter = 0;
1086   5                                              g_ucSystemFlag |= INPUT_SIGNAL_STABLE_FLAG;
1087   5                                              return; //20050908  kevin, Antony
1088   5                                      }
1089   4                                      else
1090   4                                      {
1091   5                          

⌨️ 快捷键说明

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