□ROMEO 実装状況


ROMEO の自動認識、および、ROMEO 上の YM2151 実装を判別し、ROMEO が使用
できるときは ROMEO から音を出力するようになっています。


○必要なソフトウェア
柏野氏作 PCI デバッグライブラリ
http://www.otto.to/~kasiwano/

DLL および、デバイスドライバを hoot.exe と同じディレクトリ、もしくはパス
の通ったディレクトリに置いてください。おそらく、NT 系の OS では、PCI デ
バッグライブラリの使用には Administrator 権限が必要です。64bit環境には
未対応です。

○実装済み

・ROMEO 装着判定
・YM2151 装着判定
・バッファリングを使った大まかなタイミングの出力
・YM2610/YM2608/YM2203/AY-3-8910/YM2151 の ROMEO による出力
・YM2610/YM2608 の ADPCM 部分エミュレーション
・YMF288/YM2151 の FM チャンネル音量レベル調整
・チャンネルマスク
・YMF288@8MHz、YM2151@4MHz 以外のクロックオシレータの実装判定/選択

○設定

hoot.ini で設定してください。hoot.ini に簡単な説明があります。gain は 
hoot.xml の各タイトルの option でも設定できるようにしてあるはずです。
(ex. <option name="romeo_ym2203_gain_fm" value="4"/>)


○未実装

・YM2612 エミュレーション
・精密な出力タイミング


○既知の問題点

・テンポが揺らぐことがある

速めのリズムの曲でテンポが揺らぎが気になることがあります。hoot のスケジ
ューラに問題があるのか、DirectSound、Win32 のスレッド/タイマの精度が原因
なのかはよくわかりません。(エミュレーションによる合成の時は、揺らぎませ
ん。)

・ROMEO を見つけられない場合がある

Windows 起動直後などに、ROMEO を見つけられないことがあります。原因不明で
す。

・PSG にノイズが載ることがある

PSG only のタイトルで、音がざらざらに鳴ることがあります。原因不明です。
YMF288 のリセットを行うと大抵なおります。

・OS ごとロックすることがあるかもしれない

hoot のデバッグ中何度も OS ごとロックさせました。そのようなことが起きな
いよう注意してコーディングしたつもりですが、hoot の実行時は、そのような
ことがおきても問題がないようにしておいてください。


○実装予定のないもの

リクエストによっては実装するかもしれません。

・スペアナ

現在は、出力波形を FFT 解析して、その結果を表示しているのですが、ROMEO 
からの出力はどうしようもないので諦めかけています。音源エミュレーションに
よる波形をスペアナ用にレンダリングして、実際には出力しないといった方法も
考えられますが、OPNA の ADPCM 部などを特別扱いするのが面倒なので…。

・ROMEO 上のクロックオシレータで以外のクロック

面倒な割に、効果が少ないので…。YM2151@3.58MHz などは、クロックオシレー
タを実装する価値があると思います。

・OPN/OPNA のプリスケーラ

YMF288 では削除されてしまっているので、普通にはどうしようもないです。

・複数の YM2203 を使ったタイトル

YM2151 を使って再現することができるかもしれませんが、面倒なので実装予定
はありません。
