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

📄 drv_esp.c

📁 ROHM 公司BU9432:application:应用范围
💻 C
📖 第 1 页 / 共 3 页
字号:
{
	ESP_bios_Rstop();		//READstop
	ESP_bios_Wstop();
	ESP_bios_WRclear();		//YTC006 20050106
//	ESP_bios_Wclear();		//YTC006 -ROM
//	ESP_bios_Rclear();		//YTC006 -ROM
	dram_zanryou =0L;			//
}


/*----------------------------------------------------------------------------*/
void ESP_bios_WRclear()		//YTC006 20050105 俼俷俵埑弅梡嫟捠張棟
{
	ESP_bios_Wclear();		//YTC006 -ROM
	ESP_bios_Rclear();		//YTC006 -ROM
}


/*----------------------------------------------------------------------------*/
void DrvDSP_ctrlESP_speedUP()		//YTC006 20050106 俼俷俵埑弅梡嫟捠張棟
{
	if(gu08_kind_SPEED == 1)
	{
//B0004		gu08_kind_SPEED = 3;	//JOGGABLE
//B0004		if(gu08_JOGGABLE==0)
//B0004		{	//not jogg
			gu08_kind_SPEED = 2;	//4MDRAM
//B0004		}
		gu08_scc_speed = 1;			//X2W / X2.6W梫媮
	}
}


//CDDA_ESPon SERCH
//ESP偱偺僒乕僠
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_Search_ESP											  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_Search_ESP( void )
{
#if	DM_ROM
UINT08 tmp;

//YTC00G 20050129
static UINT32 u32_old_frame_atime;	//YTC00G 20050129 埵抲僘儗専弌晽偺張棟捛壛

	switch(gu08_sccd_Search)
	{
		case	1:	//弶婜壔
			ESP_bios_WRclear();		//YTC006 20050106
//			ESP_bios_Wclear();
//			ESP_bios_Rclear();
			gu08_sccd_Search=2;

//YTC A2x	u32_old_frame_atime=0;	//YTC00G 20050129	20050303廋惓 No.480,481,482
			u32_old_frame_atime	= gu32_val_TargetFrame;	//YTC A2x 20050303廋惓 No.480,481,482

			break;

		case	2:	//僕儍儞僾奐巒
			ESP_bios_Wstop();
			DrvDSP_SearchJUMP();
			gu08_sccd_Search=3;
			break;

		case	3:	//拝抧懸偪乣彂崬奐巒
//YTC A2X 20050304
			if(gu08_GotoMsfSC !=0)	//ESP+SEARCH偺埵抲僘儗廋惓拞側傜敳偗傞丅
			{						//AMUTE偼 偲傝偁偊偢丄摦偐偝側偄丅
				break;				//
			}						//

			if( gu08_sts_Subq_valid == VALID )
			{	//拝抧偟偰丄SUBQ庢傟偨
				//偙偙偱尰嵼帪娫庢摼偲丄儃乕僟乕僠僃僢僋
				//YTC004 20050103
//YTC00G		esp_wqok = 
//YTC00G		gu32_val_TargetFrame = gu32_frame_atime;

//YTC004		esp_wqok = gu32_frame_atime;

#if 0	////YTC00G 
				if((gu08_kind_SearchDIR == 0) && ((u32_old_frame_atime ) < gu32_frame_atime))
				{	//俥俼僒乕僠偱慜夞傛傝丄彫偝偄SUBQ偑棃偨乮弴挷乯,FF僒乕僠偱慜夞傛傝戝偒偄subq偑棃偨

					gu08_sts_Border = OFF;	//ROM徣宆婰弎

					if( gu08_hex_PlayTitle_Now != stSubq_hex.tno)
					{
						gu08_sts_Border = ON;
						if(gu08_kind_SearchDIR == 1)
						{	//search FR
							DrvDSP_SearchJUMP();	//->傕偆堦敪旘偽偟偰偟傑偆丅
							break;					//  
						}
					}
					u32_old_frame_atime =
					esp_wqok = 
					gu32_val_TargetFrame = gu32_frame_atime;
				}
//YTC00G
#endif

//YTC A2x 20050303 No.480,481,482
//				if(u32_old_frame_atime==0)
//				{
//					u32_old_frame_atime = gu32_frame_atime;
//					break;
//				}

				gu08_sts_Border = OFF;	//ROM徣宆婰弎
				if(gu08_kind_SearchDIR == 0)
				{	//OUT
					if(u32_old_frame_atime  < gu32_frame_atime)
					{	//弴挷憹壛
						if( gu08_hex_PlayTitle_Now < stSubq_hex.tno)
						{	//+懁偵曄壔
							gu08_sts_Border = ON;

//YTC A2X 20050311 debug
//							CPU_LCD_SIODR3 |=  poB_LIGHT;	//
//							CPU_LCD_SIODR3 |=  poB_LIGHT;	//
//							CPU_LCD_SIODR3 &= ~poB_LIGHT;	//
//
						}
					}
					//YTC A2X No.14 20050307
					else
					{	//FF側偺偵尭彮丒丒丒僔儑僢僋娐嫬壔偵偁傞
						gu32_val_TargetFrame = u32_old_frame_atime +10;
						gu08_GotoMsfSC    = 1;
						break;
					}
				}
				else
				{	//in
					if((u32_old_frame_atime  > gu32_frame_atime) ||(stSubq_hex.tno==0))
					{	//弴挷尭彮
						if( gu08_hex_PlayTitle_Now > stSubq_hex.tno)
						{	//亅懁偵曄壔
							gu08_sts_Border = ON;
							DrvDSP_SearchJUMP();	//->傕偆堦敪旘偽偟偰偟傑偆丅
							break;
						}
					}
					//YTC A2X No.15 20050307
					else
					{	//FR側偺偵恑傫偱偄傞丒丒丒僔儑僢僋娐嫬壔偵偁傞
						gu32_val_TargetFrame = u32_old_frame_atime -10;
						gu08_GotoMsfSC    = 1;
						break;
					}
				}

				u32_old_frame_atime =
				esp_wqok = 
				gu32_val_TargetFrame = gu32_frame_atime;


				//EMPHASIS CHECK @softESP+SEARCH	娭悢壔偼偟傑偣傫丅
				if((stSubq_bcd.ctrl_addr & B00010000)==0)	//SEARCH帪偼惗SUBQ偱僠僃僢僋
				{	//off
					if(gu08_sts_EMPHASIS != 0 )
					{
						DrvDSP_BIOS_EMPHASIS_off_MP3();		//愗懼偼俵俹俁僨僐乕僟
					}
				}
				else
				{	//on
					if(gu08_sts_EMPHASIS == 0 )
					{
						DrvDSP_BIOS_EMPHASIS_on_MP3();
					}
				}

				if(gu08_kind_SearchDIR == 0)
				{
						DrvDSP_RenewDisplayTime2( );	//INTRO 10SEC僠僃僢僋
													//ESPon偩偗偳丄僒乕僠拞偼傎偲傫偳儊儌儕乕偵挋傔側偄偺偱尰嵼SUBQ偱侾侽昩専弌偡傞丅
				}

//YTC00C 20050115 if( gu08_sts_Subq_index == 00 )	

				stInfoArea.hexPlayMin = 0x00;	//
				stInfoArea.hexPlaySec = 0x00;	//
				if( stSubq_bcd.index != 00 )	//
				{
					stInfoArea.hexPlayMin = stSubq_hex.min;	//儊儌儕乕僔僗僥儉巊偆傑偱偼寁嶼晄梫
					stInfoArea.hexPlaySec = stSubq_hex.sec;	//
					gu08_sts_DISPLAY = 1;					// 昞帵 enable	// SDC 20050107 No.382
				}

				ESP_bios_WRclear();		//YTC006 20050106
//YTC006		ESP_bios_Wclear();
//YTC006		ESP_bios_Rclear();
				ESP_bios_Wstart();

				tmp=0;
				gu08_sccd_Search=4;
			}
			break;

		case	4:
			if( gu08_sts_Subq_valid == VALID )
			{

//YTC006 20050107 CDROM-track傪俠俢俢俙僒乕僠偟偰偄傞応崌偺懳嶔
				if(( stSubq_bcd.ctrl_addr & 0x40 ) != 0)
				{
//YTC00C 20050115 No411 AMUTE傕偐偗傞
					if(( gu08_kind_SearchSpeed == LOW ) && ( gu08_kind_SearchMute == MUTE_12db ))		//
					{	//-12dBsearch 偱CDROM側傜AMUTE棊偲偡
						DrvDSP_BIOS_AMute_On();
					}
//YTC00C			gu08_sccd_Search=5;	//READ start偟側偄偱
//					break;				//
				}
				else	//YTC00C 20050114 No.411
				{	//notCDROM 
					if(( gu08_kind_SearchSpeed == LOW ) && ( gu08_kind_SearchMute == MUTE_12db ))		//
					{	//-12dBsearch 偱not CDROM側傜AMUTE夝彍
						DrvDSP_BIOS_AMute_Off();
					}
				}
//<<<
				tmp++;
				if(tmp != 1)
				{
					ESP_bios_valid();
					if(tmp == 2)
					{
						ESP_bios_Rstart();
						gu08_sccd_Search=5;
					}
				}
			}
			break;

		case	5:
			if(gu08_timer_SearchInterval == 0)
			{
				gu08_sccd_Search=2;	//LOOP
			}
			else
			{
//YTC006		if( gu08_sts_Subq_valid == VALID )
				if(( gu08_sts_Subq_valid == VALID ) && (( stSubq_bcd.ctrl_addr & 0x40 ) == 0))	//YTC006 CDROMdata偼棴傔崬傑側偄
				{
					ESP_bios_valid();
				}
			}
			break;
	}
#endif
}


/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_SearchRelease_ESP									  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_SearchRelease_ESP(  )
{
	if( gu08_scc_Search != 3 )												// SDC 20050109 No.381
	{
		if( gu08_kind_SearchDIR == 2 )										// SDC 20050113 No.376
		{
			UserCtrl_Play_SkipFF();
			gu08_kind_SearchDIR = 0;
		}
		else																	//YTC00D 20050116
		{	//僒乕儃偺弨旛偑弌棃傞慜偵僒乕僠夝彍梫媮棃偨						//YTC00D 20050116

//YTC00G 20050127 僷儚乕僙乕僽偑夝彍偝傟偰偐傜僒乕僠夝彍
			if(gu08_sts_PowerSave != 0)
			{
				return;
			}
		}
	}

	if(gu08_sccd_Search !=0)
	{
		if( gu08_req_Jump != 0 )	//
		{							//
			gu08_sts_Jump = 		//YTC006 -ROM
			gu08_req_Jump = 0;		//
		}							//
		gu32_val_TargetFrame = esp_wqok;	//
		esp_wqok_track = stSubq_bcd.tno;	//test SDC 20050217 //YTC A2x No.480,481,482 

		DrvDSP_BIOS_DownGain(  );	//
	}
	gu08_sccd_Search =				//ESP+SEARCH driver 掆巭丅YTC006
	gu08_sts_SearchRelease = 0;		//
}


//僒乕僠梡僕儍儞僾梫媮張棟
//PLAY拞乛PAUSE拞偱暆傪曄偊傞丅
//FF/FR偱曽岦傪曄偊傞丅
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_SearchJUMP											  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  	gu08_req_Jump										  */
/*	[PARAMETER]:void 	DIR/WIDTH											  */
/*	[HISTORY]  :20041130 new												  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_SearchJUMP()
{
UINT08	tmp_width;

	gu08_timer_SearchInterval = CONST_SERCH_INTERVAL;

	tmp_width = ( gu08_kind_SearchSpeed == LOW ) ? JUMP_SEARCH_LOW : JUMP_SEARCH_HIGH;		// SDC 20041215
#if	1	// JMP_DIR	// SDC 20041215
	gu08_req_Jump = (( gu08_kind_SearchDIR & 0x01 ) << 4 ) | tmp_width;						// 
#else
	if(gu08_kind_SearchDIR==0)
	{	//out
		gu08_req_Jump = JUMP_FF | tmp_width;
	}
	else
	{	//in
		gu08_req_Jump = JUMP_FR | tmp_width;
	}
#endif
	return;
}


//	-------------------------------------------------------
//ROM埑弅梡娭悢孮
//	-------------------------------------------------------

// valid 憲傞
//	AA傑偱払偟偨傜丄偦偙傑偱傪VALID偡傞梊掕偱偁偭偨
// 乮嵟廔嬋偺嵟廔僗僩儕乕儉傪棴傔崬傓偵偼昁梫側偙偲乯
//	偟偐偟丄No106偺懳嶔偺偨傔丄嵟廔嬋偺偍怟傪幪偰傞偙偲偵偡傞丅
void ESP_bios_valid(void)
{
		DrvDSP_BIOS_WriteRegMP3( 0x0C, 0x01 );	//VALID!

		esp_wqok = gu32_frame_atime;
		esp_wqok_track = stSubq_bcd.tno;
}


//	-------------------------------------------------------
void ESP_bios_Wclear()
{
	DrvDSP_BIOS_WriteRegMP3( 0x00, 0x40 | (ESPMode&0x0F) );	//Wclear ADPCM_4bit
}
void ESP_bios_Wstop()
{
	DrvDSP_BIOS_WriteRegMP3( 0x00, 0x00 | (ESPMode&0x0F) );	//Wstop ADPCM_4bit
}
void ESP_bios_Wstart()
{
	DrvDSP_BIOS_WriteRegMP3( 0x00, 0x80 | (ESPMode&0x0F) );	//Wstart-ADPCM_4bit
}

//	-------------------------------------------------------
void ESP_bios_Rclear()
{
	DrvDSP_BIOS_WriteRegMP3( 0x01, 0x40 | (ESPMode&0x0F) );	//Rclear ADPCM_4bit
}
void ESP_bios_Rstart()
{
	DrvDSP_BIOS_WriteRegMP3( 0x01, 0x80 | (ESPMode&0x0F) );	//READstart
}
void ESP_bios_Rstop()
{
	DrvDSP_BIOS_WriteRegMP3( 0x01, 0x00 | (ESPMode&0x0F) );	//READstop
}


//	-------------------------------------------------------
void DrvDSP_PowerSave_on1()
{
	gu08_sts_PowerSave = 1;			//僷儚乕僙乕僽偵擖偭偨
	DrvDSP_BIOS_Stop();				//
		//DrvDSP_BIOS_Clv_Off(  );
		//DrvDSP_BIOS_MMute1_On(  );
	DrvDSP_BIOS_Tracking_Off();			
	DrvDSP_BIOS_Nothing();				
		//DrvDSP_BIOS_MMute2_On(  );
		//DrvDSP_BIOS_Focus_Off(  );
		//DrvDSP_BIOS_WriteReg(0xC8, DSP_C8_INIT);
		//DrvDSP_BIOS_Laser_Off(  );

//YTC00D 20050116	YTC00B偱捛壛偟偨俢俙侾俧悇彠僷儚乕僙乕僽傪傒偁傢偣傞丅
//YTC00B 20050113 
//YTC00D 20050116	DrvDSP_BIOS_WriteReg(0x51,0x02);	//before PowerSave1 YTC00B 20050113 No.275
//YTC00D 20050116	DrvDSP_BIOS_WriteReg(0x51,0xC2);	//before PowerSave2 

	DrvDSP_BIOS_WriteReg(0x51,0x02);	//before PowerSave1 YTC00B 20050113 No.27	//YTC00E 20050118 koyama 懳嶔桳岠
	DrvDSP_BIOS_WriteReg(0x51,0xC2);	//before PowerSave2 						//YTC00E 20050118 
#if	TOOLCHIP	// SDC 20050203
	DrvDSP_BIOS_WriteReg(0x40,B10110011);	//DSP.POWER_SAVE
#else
	DrvDSP_BIOS_WriteReg(0x40,B10110010);	//DSP.POWER_SAVE
#endif
}


//YTC00C 20050115 嫮惂暅婣梡
//	-------------------------------------------------------
void DrvDSP_PowerSaveOff_valueset()
{
	DrvDSP_PowerSave_off40xx();			//
	DrvDSP_BIOS_WriteReg(0x88,0x18);	//CLVKick Hight1	//僷儚乕僙乕僽偐傜偺暅婣帪丄
	DrvDSP_BIOS_Clv_Kick();				//廟傝崬傒堦抜栚	//
}


//YTC00B 20050113 
//	-------------------------------------------------------
void DrvDSP_PowerSave_off40xx()
{
//俢俙侾俧悇彠僷儚乕僙乕僽傪傒偁傢偣傞丅
//YTC00B 20050113	DrvDSP_BIOS_WriteReg(0x51,B00000000);	//DSP.51xx PLL奺庬愝掕 僷儚乕僙乕僽帪偵偪傚偭偲揹棳憹偊傞審
	DrvDSP_BIOS_WriteReg(0x51,B00000000);	//YTC00E 20050118 koyama 懳嶔桳岠 DSP.51xx PLL奺庬愝掕 僷儚乕僙乕僽帪偵偪傚偭偲揹棳憹偊傞審
#if	TOOLCHIP	// SDC 20050203
	DrvDSP_BIOS_WriteReg(0x40,B00000001);	//DSP.POWER_SAVE off
#else
	DrvDSP_BIOS_WriteReg(0x40,B00000000);	//DSP.POWER_SAVE off
#endif
	DrvDSP_BIOS_MMute1_Off();				//
}


//	-------------------------------------------------------
void DrvDSP_PowerSave_off1()
{	
//	PowerSave偐傜偺暅婣張棟侾
//YTC00B 20050113
	DrvDSP_PowerSave_off40xx();			//DSP.POWER_SAVE off 偙偙偱夝彍偟側偄偲丄CLVo弌側偄
	DrvDSP_BIOS_WriteReg(0x88,0x18);	//CLVKick Hight1
	DrvDSP_BIOS_Clv_Kick();				//廟傝崬傒堦抜栚

//	DrvDSP_BIOS_WriteReg(0x40,B00000000);	//DSP.POWER_SAVE off 偙偙偱夝彍偟側偄偲丄CLVo弌側偄
//	DrvDSP_BIOS_WriteReg(0x88,0x18);	//CLVKick Hight1
//	DrvDSP_BIOS_MMute1_Off();			//
//	DrvDSP_BIOS_Clv_Kick();				//廟傝崬傒堦抜栚

	gu16_Timer_PowerSave = CONST_TIMER_PSAVE_KICK1;
}

//	-------------------------------------------------------
UINT08 DrvDSP_PowerSave_off2()
{
	if(gu16_Timer_PowerSave==0)
	{
		DrvDSP_BIOS_WriteReg(0x88,0x1F);	//CLVKick Hight2
		gu16_Timer_PowerSave = CONST_TIMER_PSAVE_KICK2;
		return (1);
	}
	return (0);
}

//	-------------------------------------------------------
UINT08 DrvDSP_PowerSave_off3()
{
	if(gu16_Timer_PowerSave==0)
	{
//		CDCtrl_PlayTitle_Request_Fon();	//YTC00B 20050113	No417 FocusSearch梫媮
//YTC00B	gu08_scc_FocusSearch=1;			//僼僅乕僇僗僒乕僠奐巒	YTC00B 20050113 
		return (1);
	}
	return (0);
}



⌨️ 快捷键说明

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