?? teletext.lst
字號:
BYTE Vdata[1];
Vdata[0] = 0x3b;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
void TeleTextPageDown(void)
{
BYTE Vdata[1];
Vdata[0] = 0x3c;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
//=============================================================================
//
//=============================================================================
void TeleTextInit(void)
{
BYTE CODE ReData[8] = { 0x00, 0x26, 0x0f, 0x8f, 0x95, 0x0a, 0x00, 0x00 };
TeleTextHPol(); delay(1);
TeleTextVPol(); delay(1);
TeleTextPos(0x05, 0x2a);
WriteI2CnLong(TEXTAddress, ReData, 8);
}
void TeleTextNumber(BYTE num)
{
BYTE buf;
BYTE Vdata[1];
buf = ToNumber(num);
if( buf == 0xff ) return;
if(buf == 0)
Vdata[0] = 0x39;
else
Vdata[0] = (buf | 0x30) - 0x01;
C51 COMPILER V7.50 TELETEXT 08/20/2007 10:23:35 PAGE 6
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
#else // ET_TTX
void TeleTextCancel(void)
{
BYTE Vdata[1];
/* TTToggle ^= 0x01;
if ( TTToggle & 0x01 ) Vdata[0] = 0x27;
else if( TTToggle & 0x02 ) Vdata[0] = 0x3e;
else Vdata[0] = 0x3f;
*/
Vdata[0] = 0x10;
WriteI2CnLong(TEXTAddress, Vdata, 1);
#ifdef DEBUG_TELETEXT
dPrintf("\r\nTeletext Cancel: Toggle : %2x",(WORD)TTToggle);
#endif
}
void TeletextMix(void)
{
BYTE Vdata[1];
Vdata[0] = 0x73;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
void TeleTextONOFF(void)
{
BYTE Vdata[1];
if( !f_TeleTextOn )
{
f_TeleTextOn = 1;
SEL_MIX = 1;
//
WriteDecoder(INFORM, ReadDecoder(INFORM) | 0x01 ); // 02: xxxx xxx1 Select RGB1
WriteDecoder(ACNTL, ReadDecoder(ACNTL) & 0xfe ); // 06: xxxx xxx0 normal FB
WriteDecoder(SCbGAIN, ReadDecoder(SCbGAIN) | 0x80 ); // 3d: 1xxx xxxx RGB H Sharpness On
WriteDecoder(SCrGAIN, ReadDecoder(SCrGAIN) & 0x7f ); // 3d: 0xxx xxxx normal DAC H sync
WriteDecoder(RGBCONTROL, 0x00 ); // 36: 0000 0001 RGB ADC Power On, FB Gain:100%
WriteDecoder(RGBMISC, 0x05 ); // 39: 0000 0101 Select RGB, FB control
//
TTToggle ^= 0x02;
//if( TTToggle & 0x02 ) Vdata[0] = 0x3e; // mix
//else
Vdata[0] = 0x71;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
C51 COMPILER V7.50 TELETEXT 08/20/2007 10:23:35 PAGE 7
else // TTX OFF
{
f_TeleTextOn = 0;
SEL_MIX = 0;
TTToggle ^= 0x02;
Vdata[0] = 0x70;
WriteI2CnLong(TEXTAddress, Vdata, 1);
switch( GetInputSelection() ) {
case SCART:
case COMPOSITE:
case SVIDEO:
case TV:
WriteDecoder(ACNTL, ReadDecoder(ACNTL) | 0x01 ); // 06: xxxx xxx1 pdwon FB
WriteDecoder(SCrGAIN, ReadDecoder(SCrGAIN) | 0x80 ); // 3d: 1xxx xxxx pdwon DAC H sync
WriteDecoder(RGBCONTROL, 0xe3 ); // 3f: 0000 0001 main mode
break;
case COMPONENT:
break;
}
}
#ifdef DEBUG_TELETEXT
Printf("\r\nTeletext ON: Toggle : %2x",(WORD)TTToggle);
#endif
}
void TeleTextRed(void)
{
BYTE Vdata[1];
Vdata[0] = 0x38;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
void TeleTextGreen(void)
{
BYTE Vdata[1];
Vdata[0] = 0x39;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
void TeleTextYellow(void)
{
BYTE Vdata[1];
Vdata[0] = 0x3a;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
void TeleTextCyan(void)
{
BYTE Vdata[1];
C51 COMPILER V7.50 TELETEXT 08/20/2007 10:23:35 PAGE 8
Vdata[0] = 0x3b;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
void TeleTextHold(void)
{
BYTE Vdata[1];
Vdata[0] = 0x1a;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
/*void TeleTextTime(void)
{
BYTE Vdata[1];
Vdata[0] = 0x07; // ???
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
*/
void TeleTextSize(void)
{
BYTE Vdata[1];
Vdata[0] = 0x13;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
void TeleTextIndex(void)
{
BYTE Vdata[1];
Vdata[0] = 0x3c;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
/*
void TeleTextMode(void)
{
BYTE Vdata[1];
Vdata[0] = 0x29; // ???
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
*/
void TeleTextPageUp(void)
{
BYTE Vdata[1];
Vdata[0] = 0x16;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
void TeleTextPageDown(void)
{
BYTE Vdata[1];
Vdata[0] = 0x15;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
//=============================================================================
//
//=============================================================================
C51 COMPILER V7.50 TELETEXT 08/20/2007 10:23:35 PAGE 9
void TeleTextInit(void)
{
}
void TeleTextNumber(BYTE num)
{
BYTE buf;
BYTE Vdata[1];
buf = ToNumber(num);
if( buf == 0xff ) return;
Vdata[0] = buf | 0x20;
WriteI2CnLong(TEXTAddress, Vdata, 1);
}
#endif
#endif // SUPPORT_TELETEXT
515
516
517
518
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = ---- ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -