📄 drv_dsp_readsubq.c
字号:
/******************************************************************************/
/* [NAME] :Drv_DSP_ReadSUBQ.c */
/* [OUTLINE]: */
/* [HISTORY]: */
/* [NOTE] :TAB=4 */
/******************************************************************************/
//#include <machine.h> /* Z80梡 */
#include "BU18703.h" /* CPU儗僕僗僞掕媊 */
#include "prototype.h"
#include "extern.h"
#include <string.h>
#include "mcal.h" //CPU1600 special function
/*----------------------------------------------------------------------------*/
//偙偺僼傽僀儖偺拞梡僌儘乕僶儖
/*============================================================================*/
/* static */
/*============================================================================*/
/*----------------------------------------------------------------------------*/
//S003 儅儖僠僙僢僔儑儞懳墳
/*----------------------------------------------------------------------------*/
/* [NAME] :DrvDSP_ReadSUBQ */
/* [FUNCTION] : */
/* [RETURN] :void */
/* [PARAMETER]:void */
/* [HISTORY] : */
/* [NOTE] : */
/*----------------------------------------------------------------------------*/
/*void DrvDSP_ReadSUBQ( void )
{
//UINT08 i; // SDC
gu08_sts_Subq_valid = INVALID;
if(gu08_scc_ServoError==2)
{
return; //->SERVO_ERROR暅媽拞
}
#if ROM // SDC 20050206
if( DrvDSP_BIOS_ReadSubsyq( ) == HIGH )
#else
if( DrvDSP_BIOS_ReadSubsyq() )
#endif
{
return; //->BAD timing....
}
//YTC003 20041230
if( gu08_req_Jump != 0 ) // 1105 ????
{
return; //-> 僕儍儞僾幚峴拞
}
if( gu08_intr_Subsyq != 0 )
{ //SUBQSYNC妱崬棃偨
gu08_intr_Subsyq = 0;
if(gu08_sts_Jumped !=0)
{
gu08_sts_Jumped=0;
return; //-> 僕儍儞僾屻堦夞柍帇
}
DrvDSP_BIOS_RW_LH( );
if( ( DrvDSP_BIOS_GetData( ) & 0x07 ) == 0x07 )
{ //SERVO CONDITION OK.
gu08_num_RecoverRetry = 0; //
DrvDSP_CheckError_SetTimerSUBQ( ); //
stSubq_bcd.ctrl_addr = DrvDSP_BIOS_GetData( );
if( ( ( stSubq_bcd.ctrl_addr & 0x0F ) == 0x01 ) || ( ( stSubq_bcd.ctrl_addr & 0x0F ) == 0x05 ) )
{ //Sxxx 儅儖僠僙僢僔儑儞懳墳嵪傒丅 偁偲偱妋擣昁梫丅 捠忢嵞惗拞偵MODE5偼幾杺側偼偢丅
if( ( gu08_sts_ReadTOC == 0 ) && ( stSubq_bcd.ctrl_addr & 0x0F ) == 0x05 )
{ //俿俷俠撉傒崬傒拞埲奜偼MODE5晄梫丅
DrvDSP_BIOS_RW_LH( ); //SDC's ADVICE 20050116
return;
}
for( gu08_i = 0 ; gu08_i < 9 ; gu08_i++ )
{
(&(stSubq_bcd.tno))[ gu08_i ] = DrvDSP_BIOS_GetData( );
}
//
if( ( gu08_sts_ReadTOC != 0 ) && stSubq_bcd.index == 0xC0 )
{
DrvDSP_BIOS_RW_LH( ); //SDC's ADVICE 20050116
gu08_sts_Subq_valid = VALID;
return;
}
for( gu08_i = 0 ; gu08_i < 7 ; gu08_i++ )
{
// if( DrvDSP_ReadSUBQ_IsValid( (&(stSubq_bcd.min))[ gu08_i ] ) == FALSE )
// {
DrvDSP_BIOS_RW_LH( );
// return;
// }
}
for( gu08_i = 0 ; gu08_i < 9 ; gu08_i++ )
{
(&(stSubq_hex.tno))[ gu08_i ] = bcd2bin( (&(stSubq_bcd.tno))[ gu08_i ] );
}
if((stSubq_bcd.ctrl_addr & 0x0F ) == 0x01 )
{ //MODE5偼帪娫忣曬偱偼側偄丅
//MODE1偺帪偺傒寁嶼偡傞丅
if(stSubq_hex.tno == 0)
{ // TOC area
if(gu08_multisession !=0)
{
//20041216 gu32_frame_atime = ( stSubq_hex.min * 60 + stSubq_hex.sec ) * 75 + stSubq_hex.frame;
gu32_frame_atime = msf2lbn_bin( stSubq_hex.min,stSubq_hex.sec,stSubq_hex.frame);
}
}
else
{ // PROGRAM AREA
//20041216 gu32_frame_atime = ( stSubq_hex.amin * 60 + stSubq_hex.asec ) * 75 + stSubq_hex.aframe;
gu32_frame_atime = msf2lbn_bin( stSubq_hex.amin, stSubq_hex.asec, stSubq_hex.aframe);
}
}
gu08_sts_Subq_valid = VALID; //subq庢摼俷俲
// debugio
// DrvDSP_BIOS_AMute_Off();
// DrvDSP_BIOS_AMute_On();
}
}
DrvDSP_BIOS_RW_LH( );
}
return;
}
*/
// Sxxx Q壔偗僠僃僢僋
/*----------------------------------------------------------------------------*/
/* [NAME] :DrvDSP_ReadSUBQ_IsValid */
/* [FUNCTION] : */
/* [RETURN] :UINT08 */
/* [PARAMETER]:UINT08 subq_data */
/* [HISTORY] : */
/* [NOTE] : */
/*----------------------------------------------------------------------------*/
/*UINT08 DrvDSP_ReadSUBQ_IsValid( UINT08 subq_data )
{
if( ( subq_data & 0xF0 ) > 0x90 )
{
return FALSE;
}
if( ( subq_data & 0x0F ) > 0x09 )
{
return FALSE;
}
return TRUE;
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -