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

📄 drv_dsp.c

📁 ROHM 公司BU9432:application:应用范围
💻 C
📖 第 1 页 / 共 3 页
字号:
	{
		gu32_val_TargetFrame = gu32_frame_atime;

		gu08_hex_Min_Now = stSubq_hex.min;
		gu08_hex_Sec_Now = stSubq_hex.sec;
		gu08_hex_Frame_Now = stSubq_hex.frame;

		gu08_hex_AMin_Now = stSubq_hex.amin;
		gu08_hex_ASec_Now = stSubq_hex.asec;
		gu08_hex_AFrame_Now = stSubq_hex.aframe;


////    gu08_bcd_PlayTitle_Now = stSubq_bcd.tno;
//		gu08_hex_PlayTitle_Now = stSubq_hex.tno;

		DrvDSP_RenewDisplayTime(  );

		if( ( gu08_scc_Pause == 0 ) && ( gu08_sts_PauseRelease == 0 ) )
		{
			DrvDSP_BIOS_DownGain(  );
			DrvDSP_BIOS_0dB(  );	//SearchRelease帪ECC惂屼(巄掕)
		}
		else
		{
			DrvDSP_Mute_On();
		}
		DrvDSP_SearchInit(  );
	}

	gu08_sts_SearchRelease = 0;

	return;
}
#endif

#if	0//AC0001 CDx1	// SDC 20050208
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_SearchInit											  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_SearchInit( void )
{
	gu08_timer_SearchInterval = //0;
	gu08_sts_SearchWait = OFF;	//[dyna041209]Search偱CD<->MP3摦嶌晄惓懳墳
								//20041213 偝 岠偔偐側偁丠梫妋擣
	return;
}
#endif

//S002 EVR偺抣傪僙僢僩偡傞強丅
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_SetVolume											  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_SetVolume( void )
{


//	Sxxx CTEC 偲傝偁偊偢丄俤倁俼偺抣偩偗傪憖嶌偡傞丅AMUTE楢摦偼屻夞偟丅
//B0004 --->
/*
	const UINT08 u08_vol_data[41] = {	0xae,			//00		;-87dB				//BD3871
										0xa0,		//01		;-80
										0x90,		//02		;-72
										0x80,		//03		;-64
										0x70,		//04		;-56
										0x60,		//05		;-48
										0x5a,		//06		;-45
										0x56,		//07		;-43
										0x52,		//08		;-41
										0x4e,		//09		;-39
										0x4a,		//10		;-37
										0x46,		//11		;-35
										0x42,		//12		;-33
										0x3e,		//13		;-31
										0x3a,		//14		;-29
										0x36,		//15		;-27
										0x32,		//16		;-25
										0x2e,		//17		;-23
										0x2c,		//18		;-22
										0x2a,		//19		;-21
										0x28,		//20		;-20
										0x26,		//21		;-19
										0x24,		//22		;-18
										0x22,		//23		;-17
										0x20,		//24		;-16
										0x1e,		//25		;-15
										0x1c,		//26		;-14
										0x1a,		//27		;-13
										0x18,		//28		;-12
										0x16,		//29		;-11
										0x14,		//30		;-10
										0x12,		//31		;-09
										0x10,		//32		;-08
										0x0e,		//33		;-07
										0x0c,		//34		;-06
										0x0a,		//35		;-05
										0x08,		//36		;-04
										0x06,		//37		;-03
										0x04,		//38		;-02
										0x02,		//39		;-01
										0x00	};	//40		;-00



*/
return;


//	if( gu08_kind_VolCtrl & B00000001 )		//AD
	if(gu08_kind_VolCtrl==VOL_DIG)			//AP
//	if(gu08_kind_tuner!=3)
	{	//BD3871
		BD3871_Data2( u08_vol_data[gu08_num_Volume]);
	}
//	else				//AD
//B0004 <---
//		DrvDSP_BIOS_WriteReg( 0xE1, Tbl_E1_EVR[gu08_num_Volume] );		//AD
	return;
}

//YTC001 20041224 
//20041122 検嶻斉
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_SetBassBoost											  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/

/* B0004 --->
void DrvDSP_SetBassBoost( void )
{
//YTC001 20041224 
	if(gu08_kind_Equalizer == EQ_SURROUND)
	{
		DrvDSP_Surround_ON();
		DrvDSP_BIOS_WriteReg(0xE2, (gu08_kind_BasBoost));	//YTC002 20041226 僒儔僂儞僪僆儞帪偵僶僗僽乕僗僩愗傝懼傢傜側偄偠傖傫丅
																	//崱夞偺巇條偱偼丄俽俼偲俤俻摨帪僆儞偑柍偄偺偱偙傟偱
	}
	else
	{
#if	1// AC0001 LCD_DM
		DrvDSP_BIOS_WriteReg(0xE2, (gu08_kind_BasBoost | gu08_kind_Equalizer));
#else
		DrvDSP_BIOS_WriteReg(0xE2, (gu08_kind_BasBoost | EQSoundDatTbl[ gu08_kind_Equalizer ]) );
#endif
	}
	return;
}

B0004 <---
*/


//20041122 俵俹梡 俢俽俙僐儅儞僪攑巭斉丅
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_SetEqualizer											  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
//--->060214

void DrvDSP_SetEqualizer( void )
{
// B0004 --->
//	DrvDSP_SetBassBoost();	//拞恎偼摨偠丅
//	if( ( gu08_kind_VolCtrl & B00000001 ) == VOL_BU9541 )			//AD
//	{														//AD
//		DrvDSP_BIOS_WriteReg(0xE2, gu08_kind_Equalizer);			//AD
//	}													//AD
//	else												//AD
//	{									//AD
	if(gu08_kind_VolCtrl==VOL_DIG)			//AP
//	if(gu08_kind_tuner!=3)
	{
		switch( gu08_kind_Equalizer )
		{											// bass/treble
			case B00010000:							// EQ_POPS
				BD3871_Data3( B10101100 );		// -4dB/-8dB	
//				BD3871_Data3( B10101001 );		// -4dB/-2dB			//ap,060110
//				BD3871_Data3( B00000011 );		// +0dB/+6dB			//ap,060213
				break;

			case B00100000:							// EQ_JAZZ
				BD3871_Data3( B10011001 );		// -2dB/-2dB
//				BD3871_Data3( B00000001 );		// 0dB/+2dB			//ap,06011
//				BD3871_Data3( B00100010 );		// +4dB/+4dB			//ap,060213
				break;

			case B01000000:							// EQ_CLASSIC
//				BD3871_Data3( B00010011 );		// +2dB/+6dB		
				BD3871_Data3( B00110001 );		// +6dB/+2dB			//ap,060213
				break;
			
			case B01010000:							// EQ_ROCK
				BD3871_Data3( B00100100 );		// +4dB/+8dB
//				BD3871_Data3( B01100010 );		// +12dB/+4dB			//ap,060213
				break;

//			case B00000000:
			default:								// EQ_NORMAL
				BD3871_Data3( B00000000 );
				gu08_kind_Equalizer = 0x00;
				break;
		}
	}
//	}
	return;
// B0004 <---
}


//YTC001
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_Surround_XX											  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
/* B0004 --->
void DrvDSP_Surround_ON()
{
	DrvDSP_BIOS_WriteReg( 0xE4, SURROUND1E4);		//SR_on
	DrvDSP_BIOS_WriteReg( 0xE5, SURROUND1E5);	
}
B0004 <---
*/

//YTC002 20041226
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_Mute_Soft											  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_Mute_Soft( void )
{
	DrvDSP_BIOS_DACMute_On(  );
	Common_Wait_ms( 26 );			//Sxxx 巆偭偰傞~~丒丒丒丅丒丒丒崱擭偼偙偺傑傑巊偆丅
//B0004 --->
//	gu08_amute_df = 0;					//Mute On
//	if( gu08_kind_VolCtrl & B00000001 )		//AD
	if(gu08_kind_VolCtrl==VOL_DIG)			//AP
//	if(gu08_kind_tuner!=3)
	{	//BD3871
			BD3871_Data2( 0xae );			//Max attenuation
	}
//B0004 <---
	DrvDSP_BIOS_AMute_On(  );
	return;
}

// YTC002 嫮惂儈儏乕僩
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_Mute_On												  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_Mute_On( void )
{
//	DrvDSP_BIOS_DACMute_On(  );			//ad
//	Common_Wait_ms( 26 );			//Sxxx 巆偭偰傞~~丒丒丒丅丒丒丒崱擭偼偙偺傑傑巊偆丅
	DrvDSP_BIOS_AMute_On(  );
	return;
}


// 丒EVR=0側傜,儈儏乕僩夝彍偟側偄丅
// 丒嵞惗幚峴拞偱側偗傟偽儈儏乕僩夝彍偟側偄丅
// 丒MP3嵞惗埲奜偱丄CDROM偩偭偨傜丄儈儏乕僩夝彍偟側偄丅
/*----------------------------------------------------------------------------*/
/*	[NAME]     :DrvDSP_Mute_Off												  */
/*	[FUNCTION] :															  */
/*	[RETURN]   :void  														  */
/*	[PARAMETER]:void														  */
/*	[HISTORY]  :															  */
/*	[NOTE]     :															  */
/*----------------------------------------------------------------------------*/
void DrvDSP_Mute_Off( void )
{
/*#if	0// AC0001 ROM	// SDC 20050208
	if( !gu08_num_Volume )
		return;

#if	CDx1	// SDC 20041226
	if( !(( gu08_sts_User == STS_USER_PLAY_CD  ) ||
		  ( gu08_sts_User == STS_USER_PLAY_MP3 ) ||
#else
	if( !(( gu08_sts_User == STS_USER_PLAY_MP3 ) ||
#endif
		  ( gu08_sts_User == STS_USER_SEARCH_MP3 ) ||
		  ( gu08_sts_User == STS_USER_SEARCH_ESP ) ||
		  ( gu08_sts_User == STS_USER_PLAY_ESP )) )
		return;

//YTC006 20050107 
	if(( stSubq_bcd.ctrl_addr & 0x40 ) != 0)
	{	//CDROM
		if( gu08_sts_User == STS_USER_PLAY_MP3 )
		{
			DrvDSP_A_DAC_Mute_Off();
			DrvDSP_BIOS_0dB();

		}
		else if(gu08_sts_User == STS_USER_SEARCH_MP3)
		{

//YTC008	if(gu08_kind_SearchSpeed == LOW)
			if((gu08_kind_SearchSpeed == LOW) && (gu08_kind_SearchMute == MUTE_12db ))	//YTC008 20050109
			{	
				DrvDSP_A_DAC_Mute_Off();	//YTC008 20050110 -ROM
			}
		}
	}
	else
	{	//not CDROM
		DrvDSP_A_DAC_Mute_Off();	//
		DrvDSP_BIOS_0dB();
	}
#else
	if( gu08_num_Volume )
	{
//B0004 --->
		if( gu08_now_mode == 1 )
		{
//B0004 <---
		switch( gu08_sts_User )
		{
#if	0 // AC0001 CDx1
		case	STS_USER_PLAY_CD:
		case	STS_USER_SEARCH_CD:
#endif
		case	STS_USER_PLAY_ESP:											// CDDA
		case	STS_USER_SEARCH_ESP:
			if( stSubq_bcd.ctrl_addr & 0x40 )								// ROM 僨乕僞帪偼 off 偟側偄
				break;

		case	STS_USER_PLAY_MP3:											// MP3 偼柍忦審偵 off 偡傞
			DrvDSP_A_DAC_Mute_Off();
			DrvDSP_BIOS_0dB();
			break;

		case	STS_USER_SEARCH_MP3:
			if((gu08_kind_SearchSpeed == LOW) && (gu08_kind_SearchMute == MUTE_12db ))	//YTC008 20050109
			{																// 僒乕僠拞偼 off 敾掕昁梫
				DrvDSP_A_DAC_Mute_Off();	//YTC008 20050110 -ROM
			}
		}
		}			//B0004
		else				*/					//B0004
			DrvDSP_A_DAC_Mute_Off( );		//B0004
//		Rec_Mute(  );							//B0006
//	}
//#endif
	return;
}


// --------------------------------------------------------
//YTC008 20050110 埑弅梡彫暔娭悢
void DrvDSP_A_DAC_Mute_Off()
{
	DrvDSP_BIOS_AMute_Off();	//
//	DrvDSP_BIOS_DACMute_Off();	//
}



/*----------------------------------------------------------------------------*/


// --------------------------------------------------------
//  僎僀儞愝掕愗懼with僆僼僙僢僩
void SetGainWithOffset( UINT08 u08_Gain )
{
	// Input Signal Gain_SW ----------------------------------------------------
//	gu08_kind_Gain = u08_Gain;	//Sxxx 20041019 kindGain忋彂偒偟偪傖僟儊
//B0004 --->
	if( gu08_Mech == 0x02 )
		DrvDSP_BIOS_WriteReg( 0x61, ( ( u08_Gain << 4 ) + 0x09 ) );	//increase Laser power
	else
//B0004 <---
	DrvDSP_BIOS_WriteReg( 0x61, ( ( u08_Gain << 4 ) + 0x05 ) );	// Input Signal Gain

	// RF EQ
// YTC_20041228 >>>
	if( gu08_sts_AdjustAuto | gu08_sts_AdjustOffset )
	{
		// 挷惍拞偺傒搳偘捈偡
		// 偦傟埲奜偼丄CtrlSpeed偑惂屼
		DrvDSP_BIOS_WriteReg( 0x62, Tbl_EQ_1X[gu08_kind_Gain] );
	}
// <<<

	// Input Signal ------------------------------------------------------------
#if	0// AC0001 ROM	// SDC 20050208
	// F
	DrvDSP_BIOS_WriteReg( 0x67, stInfoArea.AdjustOffset[u08_Gain][3] );	// D Range
	DrvDSP_BIOS_WriteReg( 0x97, stInfoArea.AdjustOffset[u08_Gain][10] );	// Offset

	// E
	DrvDSP_BIOS_WriteReg( 0x66, stInfoArea.AdjustOffset[u08_Gain][2] );	// D Range
	DrvDSP_BIOS_WriteReg( 0x96, stInfoArea.AdjustOffset[u08_Gain][9] );	// Offset

	// BD
	DrvDSP_BIOS_WriteReg( 0x65, stInfoArea.AdjustOffset[u08_Gain][1] );	// D Range
	DrvDSP_BIOS_WriteReg( 0x95, stInfoArea.AdjustOffset[u08_Gain][8] );	// Offset

	// AC
	DrvDSP_BIOS_WriteReg( 0x64, stInfoArea.AdjustOffset[u08_Gain][0] );	// D Range
	DrvDSP_BIOS_WriteReg( 0x94, stInfoArea.AdjustOffset[u08_Gain][7] );	// Offset

	// Drive Signal-------------------------------------------------------------
	// TD
	DrvDSP_BIOS_WriteReg( 0x93, stInfoArea.AdjustOffset[u08_Gain][6] );	// Offset
	// FD
	DrvDSP_BIOS_WriteReg( 0x92, stInfoArea.AdjustOffset[u08_Gain][5] );	// Offset
	// SD
	DrvDSP_BIOS_WriteReg( 0x91, stInfoArea.AdjustOffset[u08_Gain][4] );	// Offset
#else
	for( gu08_i = 0; gu08_i < 4; gu08_i++ )
	{
		DrvDSP_BIOS_WriteReg( 0x64 + gu08_i, stInfoArea.AdjustOffset[u08_Gain][gu08_i] );
		DrvDSP_BIOS_WriteReg( 0x94 + gu08_i, stInfoArea.AdjustOffset[u08_Gain][gu08_i+7] );

		if( gu08_i != 3 )
			DrvDSP_BIOS_WriteReg( 0x91 + gu08_i, stInfoArea.AdjustOffset[u08_Gain][gu08_i+4] );
	}
#endif

	// RF Position -------------------------------------------------------------
	gu08_9C_RfShift = stInfoArea.AdjustOffset[u08_Gain][11];
	DrvDSP_BIOS_WriteReg( 0x9C, gu08_9C_RfShift );	// RF Offset
}

⌨️ 快捷键说明

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