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

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

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

こんにちは

REQのウェイトの件ですが
1セクタ毎にREQを0にすることで
他のソフトも動作するようです。

CDROM_Read関数 case 0:の最後の
return _Port[0] | SIGNAL_REQ; //Ready
部分を下記に変えることで時間待ちの処理が無くても良いようです。

 if(_CheckCountAfterRead==0&&_ReadByteCount==0&&
   _bCommandReset==0&&_ArgsLeft==0)
 {
  //$1801の$81書き込みから_CheckCountAfterRead==1の
  //$1801読み込みまではSIGNAL_REQは0とする。
  ret = _Port[0] & ~SIGNAL_REQ;
 }

 if(_bCdReqWait && (_ReadByteCount%2048)==0 )
 {
  //1Sector読み出し毎に1回SIGNAL_REQは0とする。
  ret = _Port[0] & ~SIGNAL_REQ;
 }
 else
 {
  ret = _Port[0] | SIGNAL_REQ; //Ready
 }
 _bCdReqWait=FALSE;
 return(ret);


メッセージ一覧へ戻る

Copyright(C)1997-2007 Kitao Nakamura.