📄 t101_util.lst
字号:
RegAddrShift=0x20;
}else{
SlaveAddr=0x54;
RegAddrShift=0x00;
}
#else
639 1 SlaveAddr=0x54;
640 1 RegAddrShift=0x00;
641 1 #endif
642 1
643 1 m_cBuff[0]=m_cStandard;
644 1 if(I2CReadByte(SlaveAddr, 0x3A+RegAddrShift)&0x06) // Judge vlock and hlock
645 1 {
646 2 if((I2CReadByte(SlaveAddr, 0x7B+RegAddrShift)>0x10)){//&& (I2CReadByte(SlaveAddr, 0x7c+RegAddrShift)!=0x
-51)&&(I2CReadByte(SlaveAddr, 0x7c+RegAddrShift)!=0x52)){// For no chroma case
647 3 if(I2CReadByte(TW101,0x59) <= 0xd6)
648 3 m_cBuff[0]=S_NTSC;
649 3 else
650 3 m_cBuff[0]=S_PAL;
651 3 #ifdef T515
if((m_cSource&0x0f) >= isrc_T515_CVIDEO1){
m_cBuff[0] = I2CReadByte(TW515, 0x5c)&0x04;
if((I2CReadByte(TW515, 0x5c)&0x07)==0)
m_cBuff[0]=S_NTSC;
else if(I2CReadByte(TW515, 0x5c)&0x02)
m_cBuff[0]=S_SECAM;
else if(I2CReadByte(TW515, 0x5c)&0x04)
m_cBuff[0]=S_PAL;
else
m_cBuff[0]=0xff;
}
#endif
664 3 if((m_cStandard!=m_cBuff[0])||m_bPanelClose == 1){ // signal std was changed,and output timing must be
-set again
665 4 m_cStandard=m_cBuff[0];
666 4 m_cChroma=m_cBuff[0];
667 4 SetOPTiming();
668 4 SetSignalStd();
C51 COMPILER V7.50 T101_UTIL 06/16/2006 15:29:43 PAGE 12
669 4 twdDelay1(50);
670 4 OpenPanel();
671 4 twdDelay1(50);
672 4 }
673 3 }
674 2 else{
675 3 //~~~~~~~ set OPTiming ~~~~~~~~~~~~~~~~~~~//
676 3 if(I2CReadByte(TW101,0x59) <= 0xd6)
677 3 m_cBuff[0]=S_NTSC;
678 3 else
679 3 m_cBuff[0]=S_PAL;
680 3
681 3 #ifdef T515
if((m_cSource&0x0f) >= isrc_T515_CVIDEO1){
m_cBuff[0] = I2CReadByte(TW515, 0x5c)&0x04;
if((I2CReadByte(TW515, 0x5c)&0x07)==0)
m_cBuff[0]=S_NTSC;
else if(I2CReadByte(TW515, 0x5c)&0x02)
m_cBuff[0]=S_SECAM;
else if(I2CReadByte(TW515, 0x5c)&0x04)
m_cBuff[0]=S_PAL;
else
m_cBuff[0]=0xff;
}
#endif
694 3 if((m_cStandard!=m_cBuff[0])){ // signal std was changed,and output timing must be set again
695 4 ClosePanel(0x00,0x40,0x8a); // sm 06'04'07
696 4 twdDelay(10); // sm 06'04'07
697 4 m_cStandard=m_cBuff[0];
698 4 SetOPTiming();
699 4 }
700 3 //~~~~~~~ End of set OPTiming ~~~~~~~~~~~~~~~~~~~//
701 3
702 3 //~~~~~~~ set Chroma ~~~~~~~~~~~~~~~~~~~//
703 3 m_cBuff[4]=m_cChroma;
704 3 #ifdef T515
if((m_cSource&0x0f) >= isrc_T515_CVIDEO1){
m_cBuff[4] = I2CReadByte(TW515, 0x5c)&0x04;
//else if((m_cSource&0x0f) >= isrc_T515_CVIDEO1){
if((I2CReadByte(TW515, 0x5c)&0x07)==0)
m_cBuff[4]=S_NTSC;
else if(I2CReadByte(TW515, 0x5c)&0x02)
m_cBuff[4]=S_SECAM;
else if(I2CReadByte(TW515, 0x5c)&0x04)
m_cBuff[4]=S_PAL;
else
m_cBuff[4]=0xff;
}
#endif
718 3
719 3 twdDelay1(25);
720 3 // Set Chroma lock configration
721 3 if(I2CReadByte(TW101,0x59) <= 0xd6)
722 3 I2CWriteByte(SlaveAddr, 0x83+RegAddrShift, 0x37);//6f); // NTSC // change by Sherman 06'02'07
723 3 else
724 3 I2CWriteByte(SlaveAddr, 0x83+RegAddrShift, 0x39); // PAL
725 3 twdDelay1(50);
726 3
727 3 if(I2CReadByte(TW101,0x59) <= 0xd6) { // NTSC-M,NTSC-4,PAL-M
728 4 m_wBuff[2]=0;
729 4 m_cBuff[1]=m_cChroma; // Preserve previous status for signal std
730 4 twdDelay1(150); // add by Sherman 06'01'16
C51 COMPILER V7.50 T101_UTIL 06/16/2006 15:29:43 PAGE 13
731 4 while (1){ // NTSC-M=1,NTSC-4=4,PAL-M=5
732 5 if (m_cChroma == S_NTSC_4){
733 6 if ((I2CReadByte(SlaveAddr, 0x3a+RegAddrShift)&0x08)&&(I2CReadByte(SlaveAddr, 0x7a+RegAddrShift)<0x8
-0))
734 6 break;
735 6 }
736 5 if ((m_cChroma == S_NTSC)|(m_cChroma == S_PAL_M)){
737 6 if ((I2CReadByte(SlaveAddr, 0x3a+RegAddrShift)&0x08))
738 6 break;
739 6 }
740 5
741 5 if (m_cChroma == S_NTSC)
742 5 #ifndef Signal_NTSC_4
743 5 #ifndef Signal_PAL_M
744 5 m_cChroma=S_NTSC;
745 5 #else
m_cChroma=S_PAL_M;
#endif
748 5 #else
m_cChroma=S_NTSC_4;
#endif
751 5 else if (m_cChroma == S_NTSC_4)
752 5 #ifndef Signal_PAL_M
753 5 m_cChroma=S_NTSC;
754 5 #else
m_cChroma=S_PAL_M;
#endif
757 5 else //if (m_cChroma == S_PAL_M)
758 5 m_cChroma=S_NTSC;
759 5
760 5 ClosePanel(0x00,0x40,0x8a); // sm 06'04'07
761 5 twdDelay(10); // sm 06'04'07
762 5 SetSignalStd(); // Set Signal flag and DTO
763 5 twdDelay1(50);
764 5
765 5 if ((++m_wBuff[2]) >4) break; // Avoid while setting, input switch to NTSC
766 5 }
767 4 }else{ // PAL-BD,PAL-CN,SECAM
768 4
769 4 #if ((defined T100A)|(defined T101A)|(defined T101))&(defined YPbPr)
if(m_cSource == isrYPbPr)
m_cBuff[4]=S_PAL;
else {
#endif
774 4 m_wBuff[2]=0;
775 4 m_cBuff[1]=m_cChroma; // Preserve previous status for signal std
776 4 twdDelay1(150); // add by Sherman 06'01'16
777 4 while (1){ // PAL-BD=2,PAL-CN=6,SECAM=3
778 5 if ((m_cChroma == S_PAL)|(m_cChroma == S_PAL_CN)){
779 6 if ((I2CReadByte(SlaveAddr, 0x3a+RegAddrShift)&0x08) && (I2CReadByte(SlaveAddr, 0x3c+RegAddrShift)&
-0x01==1))//&& (I2CReadByte(SlaveAddr, 0x7d+RegAddrShift)>0xf0))
780 6 break;
781 6 }
782 5 if (m_cChroma == S_SECAM){
783 6 if ((I2CReadByte(SlaveAddr, 0x3a+RegAddrShift)&0x08) && (I2CReadByte(SlaveAddr, 0x7d+RegAddrShift)>
-0xf0))
784 6 break;
785 6 }
786 5
787 5 if (m_cChroma == S_PAL)
788 5 #ifndef Signal_SECAM
#ifndef Signal_PAL_CN
C51 COMPILER V7.50 T101_UTIL 06/16/2006 15:29:43 PAGE 14
m_cChroma=S_PAL;
#else
m_cChroma=S_PAL_CN;
#endif
#else
795 5 m_cChroma=S_SECAM;
796 5 #endif
797 5 else if (m_cChroma == S_SECAM)
798 5 #ifndef Signal_PAL_CN
799 5 m_cChroma=S_PAL;
800 5 #else
m_cChroma=S_PAL_CN;
#endif
803 5 else //if (m_cChroma == S_PAL_CN)
804 5 m_cChroma=S_PAL;
805 5 ClosePanel(0x00,0x40,0x8a); // sm 06'04'07
806 5 twdDelay(10); // sm 06'04'07
807 5 SetSignalStd(); // Set Signal flag and DTO
808 5 twdDelay1(50);
809 5 if ((++m_wBuff[2]) >3) break; // Avoid while setting, input switch to NTSC
810 5 }
811 4 #if ((defined T100A)|(defined T101A)|(defined T101))&(defined YPbPr)
}
#endif
814 4 }
815 3 if (m_cBuff[1] != m_cChroma){
816 4 if ((I2CReadByte(SlaveAddr, 0x3a+RegAddrShift)&0x08))
817 4 m_cBuff[4] = m_cChroma;
818 4 m_cChroma=m_cBuff[1] ;
819 4 }
820 3 if((m_cChroma!=m_cBuff[4])){
821 4 m_cChroma=m_cBuff[4];
822 4
823 4 // judge output timing again for black pattern
824 4 // add by sm 06'04'07
825 4 m_cBuff[0]=m_cStandard;
826 4 if(I2CReadByte(TW101,0x59) <= 0xd6)
827 4 m_cBuff[0]=S_NTSC;
828 4 else
829 4 m_cBuff[0]=S_PAL;
830 4 if((m_cStandard!=m_cBuff[0])){ // signal std was changed,and output timing must be set again
831 5 m_cStandard=m_cBuff[0];
832 5 SetOPTiming();
833 5 }
834 4 //if ((I2CReadByte(SlaveAddr, 0x3a+RegAddrShift)&0x08)){
835 4 OpenPanel();
836 4 //}
837 4 // end of add by sm 06'04'07
838 4 }
839 3 }
840 2
841 2 }// 癹伴い
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -