USB制御FW - hootを利用したGIMICの制御 - †
更新履歴 †
- 2014/08/12 hootがGIMICの複数台制御に対応したことについて追記
- 2013/10/13 USB制御FWのページから分離
hoot.iniのromeo_delayの値を0で固定にするように変更(c86ctlでDelayに対応した為)
hootの導入・ランタイムのインストール †
DMP SOFT.さんのサイトよりhoot本体をダウンロードして任意のフォルダに解凍して下さい。
またhootはVisual C++ 2005とDirectXのランタイムを必要とするので以下をインストールし、MicrosoftUpdateを行って最新の状態にアップデートして下さい。
現在のhootではランタイムを別途インストールする必要は無いと聞いていますが、もし上手く動かない場合は以下からランタイムをインストールしてみて下さい。
なお利用しているOSに関わらず、全て32bit版(ファイル名に_x86が含まれる物)をインストールして下さい。
hoot.iniの編集 †
hoot.exeが入っているフォルダにc86ctl.dllをコピーし、hoot.iniをメモ帳などで開き以下の項目を書き換えて下さい。
hoot.iniの項目 | 値 | 説明 |
sampling_rate= | 55466 | OPN3L/OPNAモジュールでPC-88/PC-98関連の曲を演奏したい場合*1 |
62500 | OPMモジュールでX1/X68000関連の曲を演奏したい場合*2 |
49716 | OPL3モジュールでSoundBlaster16 (ISA/98)の曲を演奏したい場合*3 |
buffer= | 8 | 標準値16から8に変更 |
time_slice= | 16 | bufferの下に行を追加して下さい 演奏にモタつきを感じる場合は値を減らしてください(7以下には設定しないこと) |
lpf= | 0 | PC側から再生されるADPCM/PCMをクリアに聞きたい場合はLPFをオフにして下さい |
ym2151_type= | 0 | 標準値0から変更しないで下さい |
ym2203_type= | 0 | 標準値0から変更しないで下さい |
ym2608_type= | 0 | 標準値0から変更しないで下さい |
romeo_delay= | 0 | 標準値0から変更しないで下さい |
romeo_ym2608_gain_fm= | 0 | 標準値3から0に変更して下さい |
romeo_ym2608_gain_rhythm= | 0 | 標準値1から0に変更して下さい |
romeo_ym2203_gain_fm= | 0 | 標準値3から0に変更して下さい |
hoot.ini - 各項目の説明 - †
sampling_rate †
sampling_rateの値は非常に重要です。
FM音源チップに入力されるマスタークロックからチップ内部で行っている合成周波数を調べて正しく記載する必要があります。
この値が実際と異なると音程が狂ったり、演奏自体にモタつきが発生しますのでご注意下さい。
PC-88、PC-98、X1、X68000は上述した値で問題はありませんが、左記以外の場合(特にアーケード)は正しい合成周波数を調べて記載して下さい。
なおsampling_rateは一つの値しか設定できません。
GIMICのモジュールを繋ぎ換える時やクロックが異なるタイトルを再生したいと思う度に変更する必要があります。
特にアーケードはマスタークロックが異なる物が多数ありますので1つのhoot.iniで全てのタイトルをカバーすることは不可能です。
hootの起動オプションに「-ini ファイル名.ini」を追加することで読み込むiniを切り替えることができますが、
hoot自体をsampling_rateごとに完全に別フォルダに分けて管理した方が良いでしょう。
romeo_delay †
romeo_delayはGIMICへのデータ出力を遅延させる働きがありました(過去形)
2013/10/13公開のc86ctlより、c86ctl自身に遅延機能が実装されましたのでそちらを使って下さい。
romeo_ymxxxx_gain_xxxx †
romeo_ym2608_gain_fm、romeo_ym2608_gain_rhythm、romeo_ym2203_gain_fmはOPN3Lモジュール搭載時にFMやリズム音源の音量を下げる働きがあります。
OPN3Lモジュールに搭載されるYMF288はFMとSSGが一緒にデジタル出力されている為、OPNAモジュールのようにFMとSSGの音量バランスを調整することができません。
FMとSSGの音量バランスは86ボードと同等なので26KボードやPC-88系の音量バランスに変えたい場合はここの値で調整して下さい。
ここで指定した値がYMF288のレジスタに書き込まれるTL(TotalVolume)値に加算されます(加算と書きましたが実際には音量が低くなります)
複数モジュール制御 †
hootはGIMICの複数台制御に対応しています(2013/12/31公開のhootより同じモジュールを接続したGIMICの制御にも対応しています)
現在利用可能な機種は以下の通りです。
- SHARP X1 + CZ-8BS1 + CZ-8BS1 (SSG+OPM+OPM)
- OPNAモジュールとOPMモジュールが必要です(OPN3LモジュールはSSGのクロックが合わないので対応していません)
ただしOPNAモジュールのFM/SSG音量バランス設定は行われません。直前にOPNAモジュールに設定された音量バランスが保持されることに注意して下さい。
c86ctlを使ってFM/SSG音量バランスを70程度に上げるとOPMモジュールとのミックスが容易になります。
- SHARP X68000 + まーきゅりーゆにっとV4 (OPM+OPN3-L+OPN3-L)
- OPMモジュールとOPNAモジュールが必要です(OPN3Lモジュールはクロックが合わないので対応していません)
ただしOPNAモジュールのFM/SSG音量バランス設定は行われません。直前にOPNAモジュールに設定された音量バランスが保持されることに注意して下さい。
c86ctlを使ってFM/SSG音量バランスを「31」に設定して下さい。
- MSX + MSX-AUDIO (SSG+Y8950)
- OPNAモジュールとOPL3モジュールが必要です(OPN3Lモジュールは対応しません)
ただしOPNAモジュールのFM/SSG音量バランス設定は行われません。直前にOPNAモジュールに設定された音量バランスが保持されることに注意して下さい。
c86ctlを使ってFM/SSG音量バランスを70程度に上げるとOPMモジュールとのミックスが容易になります。
- MSX-AUDIOのADPCMには対応しません。PC側から再生されます。
注意事項 †
- OPN3LモジュールをOPNAモジュールの代替として使うことができますが以下に対応しません。
- OPNAのADPCM部はGIMICから出力されません。代わりにhootのエミュレーションでPC側からADPCM部が出力されます。
- hootフォルダにpcidebug.dllを置かないで下さい(c86ctlよりpcidebugが優先されます)
- SSGPCM(PPZ/PPSDRVなど)を使う曲は正常に演奏されません。
- OPNAのADPCMデータ転送には若干時間がかかります。またデータ転送時にノイズが発生します。
- PC-88や一部PC-98のタイトルではADPCMデータ転送時に転送状況が表示されます。
PC-98の大半のタイトル(PMDやFMPなどADPCMデータを自前で転送する音源ドライバ)に関してはADPCMデータ転送中でもhootが操作できますが、
転送が終わるまで曲の再生は行わない様に注意して下さい。データ転送ミスが発生する可能性があります。
c86ctlのkeyboardを表示することでADPCMデータの転送状況を確認することができます。
- 一部のタイトルでは音源ドライバ自体に問題があり、曲の開始時に音色化けが発生することがあります。
この場合は同じ音源ドライバを使っている後期のゲームからドライバを流用することで解決できます。