<BTS:16> とは別件.
字幕の後にコブラが登場するところで動作がおかしくなり進行不能.
upergrafx_20180325.pac では正常に動いたが、そのあとだめになったらしい.
昨日の修正したソースで動作を見たところ直っていた.
最近の更新適用後に確認したらまた駄目になっていた.
<BTS:58> #4 の通り、ディスク読み込み時間を長くすると改善する.
PCE側の 実命令は見ていないが、場当たり的に 1 sector あたりの読み込み時間を調整すると約3.2 ms が正常動作の境界となる.
CD-ROM の1倍速の 1 sector 読み込み時間が 1/75 -> 13.3 ms. この値で読み込み時間を調整したところ MCU への切り替えなどの準備時間が考慮していないのか ADPCM の追記が間に合わない.
cd image の読み込み速度の理論値が (0x800+96) * 8 * 2 / (36 * 10 ** 6) で 952 us となる. 各種切り替えの時間をいれていないので 1ms で動くと考えられる.
現在は約3.2msの待ち時間をいれておいたが、コブラ2での最初のシーンがとまらない値がこれなのでまた停まるかもしれない. 最初のシーンでも停まってしまうシーン切り替えが2度ある. 1度目の切り替え(と酒井法子登場時)はわりと短くてもいいが,2度目は 3.2 ms となる.
この時間計算は CD image から ADPCM 用 RAM へのハードウェアで完結する転送での条件である. CD image から PCE が 1 byte ずつ読む場合はそのソフト転送がそんなに早くないのでこれらの読み込み時間調整は関係ない.
最新ファームで確認したところ、酒場のシーンまで進めることはできましたが、ドグと戦うところでゲームが止まりますね。添付したセーブデータから始めて、戦う→パンチを選ぶ、戦う→キックを選ぶのどちらでも、コブラが攻撃した後で進行不能になります。
これは ADPCM RAM の書込みが早すぎるためにソフトで同期がとれてないです.
同じ問題は、複数のソフトで発生しております.
これは複数のソフトの現象を総合的に見てどうするか決めたいので、今回のように報告がありますと大変助かります.
mednafen pce_fast module でも再現. 同期を取っていないらしい.
CD読み込み時間を等速相当に設定しても #5 の部分は改善しないので別の調査が必要.
調査したところ、件名の最初のシーンの読み込みタイミングとは別の理由で停まっていたので件名としては修正済み、完了とする.
別途レポートを作る.