* USB制御FW - hootを利用したGIMICの制御 - [#o8191656]
hootとはDMP SOFT.さんが作成されたパソコンやコンシューマゲーム機のハードウェアをエミュレートしゲームミュージックを演奏する為のソフトウェアです。~
OPN3L、OPNA、OPM、OPL3モジュールに対応しています。~

#contents

** 更新履歴 [#ec86ae81]
-2013/10/13 USB制御FWのページから分離

** hootの導入・ランタイムのインストール [#m1d92cc8]
[[DMP SOFT.さんのサイト:http://dmpsoft.s17.xrea.com/]]よりhoot(2013/06/02版)をダウンロードして任意のフォルダに解凍して下さい。~
またhootはVisual C++ 2005とDirectXのランタイムを必要とするので以下をインストールし、MicrosoftUpdateを行って最新の状態にアップデートして下さい。~
なおご利用のOSに関わらず、全て32bit版(ファイル名に_x86が含まれる物)をインストールして下さい。~

-[[Microsoft Visual C++ 2005 Service Pack 1 再頒布可能パッケージ MFC のセキュリティ更新プログラム:http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=ae2e1a40-7b45-4fe9-a20f-2ed2923aca62&displaylang=ja]]
-[[DirectX エンド ユーザー ランタイム Web インストーラ:http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=2da43d38-db71-4c1b-bc6a-9b6652cd92a3]]

** hoot.iniの編集 [#ya2df74a]
hoot.exeが入っているフォルダにc86ctl.dllをコピーし、hoot.iniをメモ帳などで開き以下の項目を書き換えて下さい。~

|hoot.iniの項目|値|説明|
|sampling_rate=|55466|OPN3L/OPNAモジュールでPC-88/PC-98関連の曲を演奏したい場合((供給クロック3.9936MHz÷72分周))|
|~|62500|OPMモジュールでX1/X68000関連の曲を演奏したい場合((供給クロック4MHz÷64分周))|
|~|49716|OPL3モジュールでSoundBlaster16 (ISA/98)の曲を演奏したい場合((供給クロック14.31818MHz÷288分周、14.31818MHzはISAバスのOSCに由来))|
|buffer=|8|標準値16から8に変更|
|time_slice=|16|bufferの下に行を追加して下さい&br;演奏にモタつきを感じる場合は値を減らしてください(&color(red){7以下には設定しないこと};)|
|lpf=|0|PC側から再生されるADPCM/PCMをクリアに聞きたい場合はLPFをオフにして下さい|
|ym2151_type=|0|標準値0から変更しないで下さい|
|ym2203_type=|0|標準値0から変更しないで下さい|
|ym2608_type=|0|標準値0から変更しないで下さい|
|romeo_delay=|任意の値|単位[ms] 後述します|
|romeo_ym2608_gain_fm=|0|標準値3から0に変更して下さい|
|romeo_ym2608_gain_rhythm=|0|標準値1から0に変更して下さい|
|romeo_ym2203_gain_fm=|0|標準値3から0に変更して下さい|

** hoot.ini - 各項目の説明 - [#s1f61bf2]

*** sampling_rate [#ba5015cd]
sampling_rateの値は非常に重要です。~
実機でFM音源チップに入力されるマスタークロックからチップ内部で行っている合成周波数を調べて正しく記載する必要があります。~
(この値が異なると音程が狂ったり演奏自体にモタつきが発生しますのでご注意下さい)~
PC-88、PC-98、X1、X68000の場合は上述した値で問題はありませんが、左記以外の場合(特にアーケード)は正しい合成周波数を調べて記載して下さい。~

またsampling_rateは一つの値しか設定できませんのでGIMICのモジュールを繋ぎ換える時や、クロックが異なるタイトルを再生したいと思う度に変更する必要があります。~
特にアーケードはマスタークロックが異なる物が多数ありますのでご注意下さい。~

このような場合はhootの起動オプションに「-ini ファイル名.ini」を追加することで読み込むiniを切り替えることができます。~
hoot自体を対応モジュール及びsampling_rate毎に完全に別フォルダで分けて管理した方が良いと思います。~

romeo_delayはGIMICへのデータ出力を遅延させる働きがあります。~
通常はPC上で音声(X68000のADPCMなどGIMIC側が対応していない部分)が合成されてサウンドカードから出力されるよりも、GIMICの方が先に音声を出力してしまいます。~
GIMICへのデータ出力を遅らせることでPC上で合成される音声をGIMICと同期することができます。~
この値は環境により全く異なりますので自分の環境に合う値を試行錯誤して貰うことになります。romeo_delayの値はms(ミリ秒)になります。~

&aname(hootdelay);&color(red){※注意事項※};~
現行ファームウェアでromeo_delayを設定するとADPCMデータの転送に失敗する場合があることを確認しています(例:グランシード)~
PC-88系タイトルはADPCMデータの転送をhootが行いますのでこの問題は確認されていませんが、PC-98のタイトルでこの問題が起きる可能性があります。~
このような場合はromeo_delayを0にし、ym2608_typeを0(fmgen)から1(mame)に変更して下さい。また極端にtime_sliceの値を下げるとこの問題が起きやすくなります。~
time_sliceの値を大きくするとromeo_delayを設定していても大丈夫な場合もありますのでデータ転送が失敗しない範囲を探ってみて下さい。~

romeo_ym2608_gain_fm/rhythm、romeo_ym2203_gain_fmはOPN3Lモジュール搭載時にFM/リズム音源の音量を意図的に下げる働きがあります。~
OPN3Lモジュールに搭載されるYMF288ではFMとSSGが一緒にデジタル出力されている為、OPNAモジュールのようにFMとSSGの音量バランスを調整することができません。~
FMとSSGの音量バランスは86ボードと同等なので、26KボードやPC-8801系の音量バランスに変えたい場合はここの値で調整して下さい。~
ここで指定した値がYMF288のレジスタに書き込まれるTL(TotalVolume)値に加算されます(加算と書きましたが実際には音量が低くなります)~

** 複数モジュール制御 [#odbc5b56]
hootから複数台のGIMICを制御できるようになりました。ただし現状は''同じモジュールの複数制御''には対応していません。~
現在利用可能な機種は以下の通りです。~

-SHARP X1 (SSG+OPM)
--OPNAモジュールとOPMモジュールを利用することで実現可能です(OPN3Lモジュールは対応していません)~
ただしOPNAモジュールのSSG音量設定は行われませんので直前に設定された物に依存することに注意して下さい。~
c86winを使ってSSG音量を70程度に上げるとOPMモジュールとミックスさせやすくなると思います。~

** 注意事項 [#y25c876f]
-OPN3LモジュールをOPNAモジュールの代替として使うことができますが以下に対応しません。
--OPNAのADPCM部は出力されません(代わりにPC上からADPCM部を出力することができます)
-c86ctlを利用する場合はhootフォルダにpcidebug.dllを置かないで下さい(pcidebugが優先されます)
-SSGPCM(PPZ/PPSDRVなど)を使う曲は正常に演奏されません。
-OPNAのADPCMデータ転送には若干時間がかかりますので注意して下さい。
--PC-88や一部PC-98のタイトルはADPCM転送時にデータの転送状況が表示されます。~
しかしPC-98の大半のタイトル(PMDやFMPなどADPCMを自前でロードできる音源ドライバ)に関しては~
ADPCM転送中でもhootが操作できますが、&color(red){転送が終わるまで曲の再生は行わない};様に注意して下さい。~
ADPCMデータ転送時はOPNAモジュールのLED1がオレンジ色にハッキリと点灯します。~
LED1が点滅状態(若干暗くなります)もしくは消灯するまでhootで曲を再生しないで下さい(データ抜けが発生します)~
-一部のタイトルでは音源ドライバ自体に問題があり、曲の開始時に音色化けが発生することがあります。~
(顕著な例:同級生2辺りまでのplay5.comを採用したelfのゲーム、X68000版うろつき童子、闇の血族など)~


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS