#include "sega_cdc.h"
Sint32 recocGfsInit(void);
Sint32 waitStat(Sint32sts);
/*GFS_Init,GFS_LoadDirの復帰処理*/
Sint32 revovGfsInit(void)
{
Sint32 ret;
CdcPos pos;
/*ポーズコマンドを発行する*/
CDC_POS_PTYPE(&pos) = CDC_PTYPE_NOCHG;
ret = CDC_CdSeek(&pos);
if(ret != CDC_ERR_OK){
return NG;
}
/*"PAUSE"状態になるまで待つ*/
ret = waitStat(CDC_ST_PAUSE);
return ret;
}
/*指定ドライブ状態になるまで待つ*/
Sint32 waitStat(Sint32 sts)
{
Sint32 ret;
Sint32 stwk;
CdcStat stat;
while (TRUE) { /*実際にはループ回数の上限が必要*/
/*定期レスポンスの取得*/
ret = CDC_GetPeriStat(&stat);
if(ret == CDC_ERR_PERI){
continue;
}
if(ret != CDC_ERR_OK){
return NG;
}
stwk = CDC_GET_STC(&stat);
if(stwk == sts){
brake;
}
}
return OK;
}