□ROMEO 実装状況


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


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

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

○実装済み

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

○設定

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


○未実装

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


○既知の問題点

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

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

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

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

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

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

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

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


○実装予定のないもの

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

・スペアナ

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

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

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

・OPN/OPNA のプリスケーラ

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

・複数の YM-2203 を使ったタイトル

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