亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? osddraw.c

?? Terawins的芯片T112的源程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <reg51.h>
#include "common.h"
#include "System.h"
#include "Struct.h"
#include "OSDDraw.h"
#include "Keypad.h"
#include "TwoWire.h"
#include "TW10xReg.h"
#include "OSDCtrl.h"
#include "OSDDRAW.h"
#include "Video.h"
#include "Tuner.h"

#if (defined T100A)|(defined T101A)|(defined T101)
#include "T100_OSDString.h"
#include "T100OSD.h"
#endif

#if (defined T102)|(defined T106)|(defined T112)
#include "T102_OSDString.h"
#include "T102OSD.h"
#endif


#include "OSDTbl.h"
#include "OSDMenu.h"
#include "intrins.h"
extern uCHAR ir_data;
extern uCHAR m_cSoundSystem;
extern uCHAR ir_data;
extern uCHAR ir_repeat;
extern bit m_bAir_Cable;
extern bit m_bTV_Skip;
extern bit m_bKyPowerFlat;
extern bit m_bBKPowerOn;
extern bit m_bOSDEnable;
extern bit m_bKyPowerOn;
extern bit m_bChipPowerOn;
extern bit m_bKyBlocked;
extern uCHAR idata m_cBuff[5];
extern uWORD idata m_wBuff[3];
extern uDWORD	m_dwBuff[2];
extern uCHAR idata m_cOSDEvent;
extern uCHAR idata m_cCurreKey;
extern uCHAR idata m_cPreKey;
extern uCHAR idata m_cItem;
extern uCHAR idata m_cOSDFunc;
extern uWORD idata m_wVRes;
extern uWORD idata m_wHRes;
extern uCHAR idata m_cSource;

extern uCHAR idata m_cTV_Num;

extern uDWORD m_dwVFrameCntPre;
extern uWORD  m_wHSyncPeriodPre;
extern void BKPower(void);
extern void PowerManage(void);
extern void AutoScanChannel(void);

#if VIDEO_AVAILABLE
extern EEPVIDEO idata EepVideo;
#endif

#ifdef TIMER0
extern void Timer0Start(void);
extern void Timer0Stop(void);
#endif

#ifdef NVRAM
#include "NVRam.h"
extern uWORD idata m_wEepRom;
#endif


extern uCHAR idata m_cOSDMenu;



MULTILANGUAGEOSD *pOSDLangPtr;
OSDMENU **pOSDMenuPtr;
uCHAR	cTotal=0;


//                                                             ADC         Digi
//Bright,contrast,sharp,freq,phase,hpos,vpos,Bklight,OSDH/V,Gain/Offset Gain/Offset Volume
OSDPARAMS code sOSDParamsMax=
{0xff,	    0xff,    5,  20, 0x1f, 40,  20,		20,	80,65, 0xC0,0xff,  0xff,0xff,	0xFF};
OSDPARAMS code sOSDParamsMin=
{0,	 	 	 0,    	 0,  0,  0x00, 0,   0,		0,	   1,1,	 0,0, 		 0,0,		0x00};
OSDPARAMS code sOSDParamsDef=
{0x80,	    0x80, 	 2,  10, 0x10, 20,  10,		10,	75,45, 0x80,0x80,  0x80,0x80,	0x40};

#if (defined T102)|(defined T106)|(defined T112)
uCHAR code cOSDMenuLutData[32]={ //For test
	//0xGB, 0x0R
  	0x0f,0x00, //1 blue
  	0x00,0x00, //2 black
  	0x0f,0x0a, //3 purple
	0x0f,0x00, //4 blue
  	0xf8,0x00,  //5 green
	0x22,0x0A, //6  red
  	0x1f,0x01, //7 light blue//olive
	0x88,0x05, //8 light grey
  	0xb9,0x0b,  //9 purple
  	0xBD,0x05, //A  purple
  	0x0f,0x0f,  //B 
  	0xA3,0x0A, 	//C Yellow
	0xcc,0x0c, //D light grey
	0x68,0x03,  //E Light Blue Main Menu Background or 0x79, 0x04 which is a litter light
  	0xff,0x0f,  //F white
	0x00,0x00, //0
};
#else
uCHAR code cOSDMenuLutData[32]={
    //0xGB, 0x0R
    0x00,0x00, //0
    0x0f,0x00, //1 blue
    0x00,0x00, //2 black
    0x0f,0x0a, //3 purple
    0x0f,0x00, //4 blue
    0xf8,0x00,  //5 green
    0x22,0x0A, //6  red
    0x1f,0x01, //7 light blue//olive
    0x88,0x05, //8 light grey
    0xb9,0x0b,  //9 purple
    0xBD,0x05, //A  purple
    0x0f,0x0f,  //B 
    0xA3,0x0A,     //C Yellow
    0xcc,0x0c, //D light grey
    0x68,0x03,  //E Light Blue Main Menu Background or 0x79, 0x04 which is a litter light
    0xff,0x0f,  //F white
};
#endif

void OSDLoadColor(void)
{
	uCHAR i;
	I2CWriteByte(TW101,OSD_CFG_INDEX,OSD_LUT_RAM_DATA);
  	for(i=0;i<32;i++)
		I2CWriteByte(TW101,OSD_CFG_DATA,cOSDMenuLutData[i]);

}

void OSDSetRamAddr(uWORD address)
{
	I2CWriteByte(TW101,OSD_RAM_AH,(uCHAR)(address>>8));
  	I2CWriteByte(TW101,OSD_RAM_AL,(uCHAR)(address & 0xff));

}

void OSDEnable(void)
{
	m_bOSDEnable = 1;
	OSDCfgWr(OSD_CTRL,0x84);//0x80);//0x84);//0x98); //change by Sherman 05'11'01

#ifdef TIMER0
	Timer0Start();
#endif

}

void OSDDisable(void)
{
	Timer0Stop();
	OSDCfgWr(OSD_CTRL,0x18);
	m_cOSDEvent=0;
	m_cOSDFunc=0;
	m_cItem=1;
	m_bOSDEnable=0;
	m_cCurreKey=m_cPreKey=0xFF;
}

void OSDExit(void)
{
	OSDCfgWr(OSD_CTRL,0x18);
	OSDCfgWr(0x10,0x00); //Disable window
	OSDDisable();
//	OSDClearPage();
}

void OSDFuncSelect(sCHAR sStep)
{
 	//Remove previous cursor
    OSDClearCursor();
	if(m_cItem+sStep>=1 && m_cItem+sStep<=cTotal)
		m_cItem+=sStep;
	else
	{
		if(sStep<0)
			m_cItem=cTotal;
		else
			m_cItem=1;
	}
	m_cOSDFunc=m_cItem;

	switch(m_cOSDMenu){
	case idVIDEOMENU:
	    OSDShowVideoData();
	    break;
	case idTVMENU:
//		OSDShowTVData();  // mark by Sherman 05'11'14
		break;
	default:
		break;
	}
	OSDMoveCursor();
	return; 
}


void OSDEventMgr(void)
{
	Timer0Stop();	
	switch(m_cOSDEvent){
	case CLOSEMENU:
		OSDExit();
		break;
	case OPENMENU:
		m_cItem=1;
		OSDOpenMenu();
		break;	
		
	case FUNCSELCT_IN:
		OSDFuncSelect(1);
		break;
	case FUNCSELCT_DN:
		OSDFuncSelect(-1);
		break;
	case FUNCENTER:
			OSDClearPage();
            OSDPosition(CENTER);
			OSDShowPage();  
			break;
	case FUNCEXIT:
			OSDFuncExit();
		break;
	case FUNCADJ_IN:
		OSDItemAdj(INCREASE);
		break;
	case FUNCADJ_IN1:
		OSDItemAdj(INCREASE1);
		break;
	case FUNCADJ_DN:
		OSDItemAdj(DECREASE);
        break;
	case FUNCADJ_DN1:
		OSDItemAdj(DECREASE1);
		break;
	case FUNCADCCAL:
		break;
	case POWERMANAGE:
		m_bKyPowerOn = m_bKyPowerOn^0x01;
		PowerManage();
		break;
	default:	break;
	}

	if(m_bOSDEnable)
		Timer0Start();
}

void OSDOpenMenu(void)
{
	OSDClearPage();
	OSDPosition(CENTER);
	OSDEnable();
	m_cItem=1;
	m_cOSDFunc=1;

	OSDShowPage();	
	switch(m_cOSDMenu){
	case idVIDEOMENU:
	     ir_repeat=1;
        OSDShowVideoData();
		break;
	case idTVMENU:
		ir_repeat=0;
//		OSDShowTVData();	// mark by Sherman 05'11'14
		break;
	default:
		return;
	}
	m_cOSDEvent=OPENMENU;
}

void OSDFuncExit(void)
{

}

uCHAR OSD_cOSDLang=0;
void OSDShowPage(void)
{
	uCHAR y=1;

	pOSDLangPtr=&MultiLangOSD[OSD_cOSDLang];
	pOSDMenuPtr=pOSDLangPtr->osdMenuPtr;  
	cTotal=0;

	while(pOSDMenuPtr[m_cOSDMenu-1][cTotal].iconStr!=NULL)
	{
		OSDShowLine(iBlankLine,0,y,COL_NORMAL,OSD_LENGTH);
		//OSDShowLine(pOSDMenuPtr[m_cOSDMenu-1][cTotal].iconStr,ICON_STAT,y,COL_NORMAL,OSD_LENGTH);
		OSDShowLine(pOSDMenuPtr[m_cOSDMenu-1][cTotal].txtStr,TXT_STAT,y,COL_NORMAL,OSD_LENGTH);
//		idx = pOSDMenuPtr[(m_cOSDFunc>>4)-1][cTotal].cidIdx;		
		switch (pOSDMenuPtr[(m_cOSDMenu-1)-1][cTotal].cDataAttr)
		{
			case GAUGE:
			case NUMBER:
//				OSDDrawNum(EepOSDPub[idx],sOSDParams1[idx].Max,NUM_STAT,y,COL_NORMAL);
				break;
//			case OPTION:
//				OSDShowOption(y,COL_NORMAL);
//				break;
//			case INFO:
//				OSDShowInfo(0,(cTotal+1),COL_GAUGE);
//				break;
			case NONE:
			default:
				break;
		}
		cTotal++;
		y++;
		//twdDelay(30);
	}
	OSDShowLine(iBlankLine,0,y++,COL_NORMAL,OSD_LENGTH);				  
	OSDShowLine(iBlankLine,0,y,COL_NORMAL,OSD_LENGTH);
	
	OSDMoveCursor();
}

void OSDCleanLine(uCHAR x,uCHAR y,uCHAR cColor,uCHAR cLength)
{
	if((x < 30) && ( y < OSD_LINE_NUM))
  	{
  		OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)y << 5)+x);
     	twdWr_Burst_A(OSD_RAM_DL);      // Write OSD index
     	while((x < 30) && (x < cLength))
     	{
     		twdWr_Burst_D(BLANK);
        	twdWr_Burst_D(cColor);
        	x++;
     	}
     	twdWr_Burst_P();
	}
}

void OSDClearPage(void)
{
	uCHAR i=0;
	for(i=0;i<OSD_LINE_NUM;i++)
  	{
  		OSDCleanLine(0,i,0,30);
     	OSDSetLineAttribute(i,0x80);
	}
}

void OSDSetLineAttribute(uCHAR cLine,uCHAR cAttribute)
{
     OSDSetRamAddr(MENU_RAM_START_ADDRESS+((int)cLine << 5)+31);
     twdWr_Burst_A(OSD_RAM_DL);      // Write OSD index
     twdWr_Burst_D(0);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩伦理av电影| 国产精品白丝av| 国产成人小视频| 欧美浪妇xxxx高跟鞋交| 久久久久久一二三区| 亚洲国产色一区| 成人精品高清在线| 精品国产乱码久久久久久牛牛| 最新热久久免费视频| 国产精品亚洲综合一区在线观看| 精品视频999| 一区二区三区欧美日韩| 岛国精品在线观看| 久久婷婷成人综合色| 免费观看日韩av| 欧美一区二区三区视频免费播放 | 午夜影院久久久| 色综合久久中文字幕综合网| 久久久久久久久久久久电影| 久久福利视频一区二区| 欧美日韩久久一区二区| 亚洲精品日产精品乱码不卡| 菠萝蜜视频在线观看一区| 久久久久国产精品厨房| 久久精品72免费观看| 日韩一区二区视频| 蜜桃久久久久久| 日韩丝袜美女视频| 日本vs亚洲vs韩国一区三区 | 欧美大片在线观看| 免费成人小视频| 欧美xxxx在线观看| 国模冰冰炮一区二区| 精品少妇一区二区三区免费观看| 日本成人中文字幕| 欧美成人女星排名| 国产一区欧美日韩| 亚洲国产成人在线| www.久久精品| 亚洲一区二区三区影院| 欧美视频精品在线观看| 丝袜国产日韩另类美女| 欧美一区二区私人影院日本| 蜜桃免费网站一区二区三区| 26uuu亚洲婷婷狠狠天堂| 国产精品99久久久| 亚洲欧美乱综合| 欧美色偷偷大香| 麻豆国产欧美日韩综合精品二区 | 精品一二三四在线| 国产网红主播福利一区二区| 成人免费毛片a| 亚洲一区自拍偷拍| 欧美va亚洲va香蕉在线| 国产乱子轮精品视频| 国产精品久久免费看| 日本道在线观看一区二区| 亚洲成人动漫在线免费观看| 日韩欧美国产wwwww| 国产精品99久久久久久久女警| 中文字幕一区日韩精品欧美| 在线中文字幕一区| 九九精品一区二区| 中文字幕日韩欧美一区二区三区| 欧美性欧美巨大黑白大战| 日本欧美大码aⅴ在线播放| 久久久亚洲精品一区二区三区| 91美女蜜桃在线| 激情综合色播激情啊| 亚洲少妇中出一区| 精品久久久久久久久久久久久久久久久 | 在线观看日韩国产| 国内不卡的二区三区中文字幕| 中文字幕中文字幕一区二区| 91精品国产麻豆| 99久久综合精品| 韩国女主播一区二区三区| 一区二区三区四区激情| 久久久久久久久99精品| 欧美精品日韩一区| 色综合色狠狠天天综合色| 精品一区二区三区欧美| 亚洲高清在线精品| 亚洲人成网站色在线观看| 亚洲精品一区二区三区蜜桃下载 | 欧美一区二区黄色| 91美女视频网站| 国产1区2区3区精品美女| 五月婷婷综合网| 亚洲色图丝袜美腿| 国产精品色噜噜| 欧美成人综合网站| 欧美老年两性高潮| 欧美三级乱人伦电影| 高潮精品一区videoshd| 韩日av一区二区| 日韩黄色片在线观看| 亚洲激情成人在线| 中文字幕一区二区三中文字幕| 欧美大片在线观看| 日韩一区二区在线观看视频播放| 99精品国产一区二区三区不卡 | 日本亚洲一区二区| 亚洲二区视频在线| 一区二区三区在线视频免费| 亚洲丝袜自拍清纯另类| 国产精品私人自拍| 国产精品久久三| 国产欧美日韩亚州综合| 国产亚洲人成网站| 欧美国产精品一区二区三区| 国产欧美一区二区三区网站| 国产亚洲精品aa午夜观看| www久久精品| 久久久国产精华| 国产日韩精品一区| 国产精品视频看| 亚洲欧美电影一区二区| 亚洲欧美日韩一区| 一区二区三区在线视频观看| 亚洲资源中文字幕| 天天色图综合网| 久久精品免费观看| 国产一区二区免费看| 国产成人免费在线视频| 成人h动漫精品一区二| a4yy欧美一区二区三区| 欧美影视一区在线| 6080亚洲精品一区二区| 日韩精品在线一区| 中文字幕高清一区| 亚洲欧美另类综合偷拍| 亚洲成av人片在www色猫咪| 蜜臀久久99精品久久久久久9| 久久电影网站中文字幕| 成人永久aaa| 色婷婷国产精品综合在线观看| 欧美日韩亚洲综合一区| 日韩视频一区二区三区| 国产欧美中文在线| 亚洲国产精品影院| 久久国产精品99久久人人澡| 东方欧美亚洲色图在线| 色94色欧美sute亚洲线路一久| 欧美午夜影院一区| 久久久久高清精品| 亚洲综合精品久久| 国产一区在线精品| 97超碰欧美中文字幕| 717成人午夜免费福利电影| 久久九九久久九九| 亚洲成人自拍偷拍| 高清久久久久久| 欧美猛男男办公室激情| 久久久久九九视频| 天天色天天爱天天射综合| 成人午夜大片免费观看| 欧美性一二三区| 国产精品美女一区二区| 喷水一区二区三区| 99在线视频精品| 精品国产99国产精品| 亚洲国产视频直播| 成人激情综合网站| 精品伦理精品一区| 亚洲第一二三四区| 99热99精品| 久久影院午夜论| 午夜精品123| 91视视频在线观看入口直接观看www| 欧美一级久久久| 亚洲成人自拍一区| 91丨九色丨蝌蚪富婆spa| 久久久亚洲精品一区二区三区| 亚洲电影在线播放| 一本到不卡免费一区二区| 亚洲国产经典视频| 国产一本一道久久香蕉| 91精品国产综合久久久久久| 最新国产の精品合集bt伙计| 国产成人免费视频| 精品1区2区在线观看| 日日夜夜一区二区| 91黄色免费看| 亚洲视频在线观看三级| bt欧美亚洲午夜电影天堂| 久久久久久9999| 韩国成人在线视频| 精品人伦一区二区色婷婷| 丝袜亚洲另类欧美| 91精品国产欧美日韩| 视频一区二区三区在线| 欧美三级视频在线播放| 亚洲最大的成人av| 欧美色图第一页| 亚洲成a人片综合在线| 欧美日韩精品免费观看视频| 亚洲综合免费观看高清完整版| 色婷婷久久久久swag精品| 亚洲黄色性网站|