📄 drv_dsp.c
字号:
{
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 + -