"Ootake" Nonsupport BBS ノンサポート掲示板 管理:ソフト開発グループ「Finath(ファイナス)」

現在までに、10757人の方が、この書き込みをご覧になっています。

17/08/26(土)11:41 ひろ
Re)Games Express CDについて

度々申し訳ないのですが

Port[0]に関してもう一点気になるところがあります。
Steam Heart's (J)のBGMに関連していそうな感じです。

receive_command関数の
 if (data == 0x81) の中に
  _AudioTrack.bInterrupt = FALSE; //<-追加願います。

read_1801()関数の
// _Port[0] &= ~SIGNAL_BUSY; //BUSYを解除
  _Port[0] =0; //<-変更願います


CDROM_Read関数
 case 0x0:
//下記の追加をお願いします。
  if(_AudioTrack.bInterrupt){
   //CMD 0xd9 mode 2の場合は再生終了までコマンド続行
   return SIGNAL_BUSY | SIGNAL_CD;
  }

  しばらく後の”case 1”手前を下記に変更願います。

  if( _bCdReqWait ||
   (_CheckCountAfterRead==0&&_ReadByteCount==0&&_bCommandReset==0&&_ArgsLeft==0) )
  {
   if(_bCdReqWait)_bCdReqWait=FALSE;
   return _Port[0] & ~SIGNAL_REQ;
  }
  else {
   return _Port[0] | SIGNAL_REQ; //Ready
  }

Steam Heart's (J)のBGM再生箇所でPort[0]に0を返すと
CD再生コマンドが再発行されます。

しかし、単に0を返すと再生開始後に直ぐに同じコマンドがまた来てしますので、
ブロックしています。

つい先ほど気づいたので、まだよくわからないですが、
可能であればこちらも対応していただけないでしょうか?

また、他の部分の影響を調べています。
再度こちらの掲示板にご連絡いたします。


メッセージ一覧へ戻る

Copyright(C)1997-2007 Kitao Nakamura.