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