CD-ROM2 の読み込み時間の厳密な再現の必要性 / その4

前回 ADPCM memory controller の改修でシャーロックホームズの探偵講座が動くようになりました. しかし内部の動画の再生で読み込みが早くてそれの調整をしていました. こういう調整は特定のソフトにだけ専用のその場しのぎのパラメータを振ることで短期的に解決できますし、ゲームを遊びたいだけの人は高い再現性と誤解してくれます*1. 当プロジェクトは闇の部分をなくすようにしております.

話がそれました. この手の同期をとらないプログラムは読み込み時間の精度をあげねばなりません. シャーロックホームズがちゃんと動いても HuVideo がちゃんと動かないので原因を調べていたら至近距離の seek time の計算値が間違っていることに気づきました. シーケンシャルアクセスの続き扱いの read command なので seek time ではなく setup time の名前が適切ですが、処理上は seek time と呼びます.

ここまでくると"CD-ROM2 の読み込み時間の厳密な再現の必要性 / その3"で調整した値は意味がないものになってしまいます. 先述の動画系ソフトに合わせて ADPCM 再生と書き込みの同期をとらない F1チームシミュレーション PROJECT.F とブランディッシュもやり直しとなってしまいます.

*1: (暗黙的パッチ当てまくりのエミュレータ名)では正しく動くのですけどといわれると説明するのに困ります