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

現在の不具合報告に登録してあるソフトの不具合の原因が読み込み時間が実機と違うのでちゃんと動かないというのがある程度わかっています.

別件で mednafen の document を読んでいたら pce_fast module で CD-ROM の読み込み時間を設定で変えられることをしりました. それが再現するかみてみたら大半は再現しました. mednafen で pce と pce_fast と2つ emulation engine が存在するのはこの理由でしょう. 他のエミュレータがこの乖離をその場しのぎのパッチで補正するよりかは、わたしとしては*1 mednafen はいい選択と思います.

PCE の CD-ROM2 の場合、読み込み速度がかわっていても同期を取る仕組みはあります. 問題にならないソフトはちゃんと同期をとっているんですが、問題になっているソフトの大半は同期を取っていないとか初期化を省略しているとかの潜在的なバグが表にでてきてしまっています. 潜在的なバグを直すことはよいのですが、意図的に同期を取らないソフトもわずかに存在します.
意図的に同期を取らないソフトは HuVideo を使うものとブランディッシュぐらいです*2.

というわけで厳密な読み込み時間の再現を実装してみますが、意図的なものを動くことを目標にしまして、潜在的なバグは回避策がなければパッチをあてるほうが無難なのかもしれません.

*1:ゲームを遊ぶことだけを優先せずに現状動作がおかしくても再現度をあげるとかデバッグ情報が豊富という視点

*2:手元にイメージがないんですがネクスザール(通常版)もそうな気がします