* GIMIC USB制御デモ [#nf7b7a6a]
GIMICのUSB制御デモを公開します。以下の手順に従ってGIMICのファームウェア更新、ソフトウェアの用意を行って下さい。~

2012/01/10 新ファームウェア、新c86ctlを掲載~
2012/01/14 nue氏のgimic_pcidebugがv0.14にverup、対応ソフトの追記~
2012/01/20 pcidebug.sysは不要とのことなので訂正~
2012/01/21 nue氏が新たなツールを公開されたので対応ソフトに追記~
2012/02/20 ファームウェアとc86ctl.dllを更新(OPMのハードウェアLFOの初期化ミスを修正)~
2012/02/20 ファームウェアとc86ctl.dllを更新(OPMのハードウェアLFOの初期化ミスを修正)、またnue氏の関連ソフトも更新されているようです。~

#contents

** ファームウェアの更新 [#ne8ea8b6]
USB制御は専用ファームウェアを使います。以下のファームウェアに更新して下さい。~
このファームを書き込むと&color(red){GIMIC本体での演奏は一切できなくなります};のでご注意下さい(お試しファームの上位版ではありません)~
ファームウェアの更新手順は[[こちら>ファームウェアアップデート]]をご確認下さい。~

//2012/01/10版 ダウンロード:&ref(gimic-usbfw-r158.zip);~
2012/02/20版 ダウンロード:&ref(gimic_r176.zip);~

※注意事項~
-新ファームウェアの公開にあわせて&color(red){c86ctl.dllも更新されています};ので両方とも更新して頂けるようにお願い致します。~

** PCとの接続方法 [#rd205ac1]
ファームウェアの書き換えが終わったらUSBケーブルをGIMICの&color(red){左側のUSBポート};に接続して下さい。~
GIMICがUSB複合デバイスとして認識されます(特にドライバをインストールする必要はありません)~

#ref(gm002.jpg);~

** PCからGIMICを制御する方法 [#p6f038fd]
2011/01/11 現在、[[c86ctl>#id748593]]と[[gimic_pcidebug>#tce48c27]]を利用する方法があります。~
c86ctlは対応ソフトの関係で現状ではOPN3L/OPNAモジュールしか利用できません。gimic_pcidebugはOPMモジュールを扱うことができます。~

*** c86ctl+hootを使った制御方法 [#id748593]
c86ctlでのGIMIC制御には[[hoot:http://dmpsoft.s17.xrea.com/hoot/]]を使います。~

①[[hootのサイト:http://dmpsoft.s17.xrea.com/hoot/]]から[[2011/12/31版(もしくはそれ以降):http://dmpsoft.s17.xrea.com/hoot/index.html#program]]をダウンロードして解凍して下さい。~

②hootはVC2005のランタイムを必要とするので[[これ:http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=ja]]と[[これ:http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=766A6AF7-EC73-40FF-B072-9112BAB119C2&displaylang=ja]]と[[これ:http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=ae2e1a40-7b45-4fe9-a20f-2ed2923aca62&displaylang=ja]]のx86版を全てインストールし、MicrosoftUpdateを行って最新の状態にして下さい。~
 (OSが64bit版の場合でもx86版をインストールして下さい)~

③以下のc86ctlをダウンロードして解凍し、先ほどのhootのフォルダにc86ctl.dllを移動して下さい。~

//2012/01/10版 ダウンロード:&ref(c86ctl-20120110.zip);~
2012/02/20版 ダウンロード:[[c86ctl_1.3.1.23.zip:https://launchpad.net/c86ctl/trunk/1.3.1/+download/c86ctl_1.3.1.23.zip]]~

※注意事項~
-c86ctlのGUI及びc86ctl.iniが復活しました。
-c86ctlのテストプログラムc86win.exeが同梱されています。[[使い方はこちら。>#l519c400]]~
c86win.exeを使うことでOPNAモジュールのSSG音量バランスを調整することができます。

④hoot.iniをメモ帳などで開いて、下記の通り設定値を修正して下さい。~

>[config]~
sampling_rate=&color(red){55466}; ←値を55466に変更~
buffer=&color(red){8};        ←値を8に変更~
&color(red){time_slice=16};      ←この行を追加~
&color(red){c86ctl_enable=1};    ←OP3Lモジュールを使う場合は1に変更~
&color(red){c86ctl_enable=2};    ←OPNAモジュールを使う場合は2に変更~
output_midi_device=&color(red){0}; ←MIDIデバイス番号がMicrosoft GS~になるように変更。MIDIデバイス番号は[[こちら>#b2909ec8]]で確認して下さい。~

⑤以上で設定は完了です。hootを起動して曲を再生してみて下さい。~
 もし正常に動作しない場合はお使いのhoot.iniをリネームし、&color(red){初期状態のhoot.ini};から④の項目を変更して確認してみて下さい。~

※注意事項~
-%%c86ctl.dllを利用する場合はhootフォルダにpcidebug.dllを置かないで下さい(pcidebug.dllが優先されます)%%~
⇒gimic_pcidebug v0.14よりc86ctlとの両立が可能になっています。~
-hootからもFM音源の音声が出力されますので、&color(red){PC側の音声をミュートして下さい};。~
-hootでのパートマスクはGIMICに反映されません。~
-OPN3Lモジュールを使う場合はADPCMは再生できません。~
-SSGPCM(PPZ/PPSDRVなど)を使う楽曲は正常に演奏できません。~
-ADPCMデータの転送には若干時間がかかりますので注意して下さい。~
PC-88系のタイトルに関してはADPCMの転送が終わるまでhootはロックされて操作できなくなります。~
PC-98系のタイトルに関してはADPCM転送中でもhootが操作できますが、&color(red){転送が終わるまで曲の再生は行わない};様に注意して下さい。~
ADPCMデータ転送時は&color(red){OPNAモジュールのLED1がオレンジ色にハッキリと点灯します};。~
LED1が点滅状態(若干暗くなります)もしくは消灯するまでhootで曲を再生しないで下さい。~
hoot側が操作できるようになっても、LED1の状態を確認することを忘れないようにして下さい。~
-古いゲームの一部には音源ドライバ自体に問題があり、曲の開始時に音色化けが発生することがあります。~
(顕著な例:同級生2辺りまでのplay5.comを採用したelfのゲームなど)~

*** gimic_pcidebug+hootを使った制御方法 [#tce48c27]
[[USB-NUCO:http://sites.google.com/site/usbnuco/]]の作者であるnue氏がgimic_pcidebug.dllを公開されたのでご紹介します。~
なお、従来あったOPN3L/OPNAモジュールのサポートはなくなったようなのでご注意下さい。~

gimic_pcidebug.dllは来須川電工製のPCI-FM音源ボード「ROMEO」のインターフェイスを用いてGIMICの制御を行います。~
簡単に言うとROMEO対応ソフトからGIMICを制御することができます。~

gimic_pcidebug.dllの利用にはVC2010のランタイムが必要です。事前に[[こちら:http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=c32f406a-f8fc-4164-b6eb-5328b8578f03]]を導入して下さい。~

※注意事項~
USB制御ファームは開発中の物をプレビューリリースとして公開しています。~
GIMIC Project公式以外の作者様へのお問い合わせはご遠慮頂けますようお願い致します。~

①[[こちらのサイト:http://nue.dip.jp/~nue/wiki/index.php]]の「その他→Download」からgimic_pcidebugをダウンロードし、~
 gimic_pcidebug.dllをpcidebug.dllにリネーム、pcidebug.iniと共にROMEO対応ソフトと同じフォルダにコピーしてください。~
 例としてhootの場合を説明します。~

②pcidebug.iniをメモ帳などで開き以下の設定を行って下さい。~

>[GIMIC]~
buffersize=500~
;内部リングバッファのバッファサイズを指定~
;delaymsを大きくする場合にはバッファ多めにすること~
~
delayms=40~
;発音遅延をms単位で指定~

delaymsはGIMICの発音を遅延させる設定です。pcidebug経由でhootを使うとPC側の音声出力がADPCM/PCMのみになります。~
この状態でGIMICとPCの音声をミックスさせることで実機相当の演奏を実現することが可能になります。~
その際、PC側の音声出力よりGIMICの方が先に発音されてしまうので同期を取る為にこのオプションがあります。~
なお、delaymsの値はパソコン毎に最適値が異なってきますのでトライ&エラーで最適値を求めて下さい。~

③hoot.iniをメモ帳などで開いて、下記の通り設定値を修正して下さい。~

>[config]~
sampling_rate=&color(red){62500}; ←値を62500に変更~
buffer=&color(red){8};        ←値を8に変更~
&color(red){time_slice=16};      ←この行を追加~
c86ctl_enable=&color(red){0};    ←値を0にするかコメントアウトして下さい~
output_midi_device=&color(red){0}; ←MIDIデバイス番号がMicrosoft GS~になるように変更。MIDIデバイス番号は[[こちら>#b2909ec8]]で確認して下さい。~
~
lpf=&color(red){0};          ←hoot側のADPCM/PCM音声をクリアに聞きたい場合はLPFをオフに(お好みでどうぞ)~
ym2151_type=&color(red){0 or 2};  ←値を1にすると&color(red){gimic_pcidebug.dllが無効になる};ので注意して下さい~
romeo_delay=&color(red){0};     ←値を0から変更しないで下さい~
usbfm_enable=&color(red){0};    ←値を0にするかコメントアウトして下さい~

④以上で設定は完了です。hootを起動して曲を再生してみて下さい。~
 もし正常に動作しない場合はお使いのhoot.iniをリネームし、&color(red){初期状態のhoot.ini};から③の項目を変更して確認してみて下さい。~

※注意事項~
-%%gimic_pcidebug.dllを利用する場合は必ずhoot.iniのc86ctl_enableを0にするかコメントアウトして下さい。%%~
⇒gimic_pcidebug v0.14よりc86ctlとの両立が可能になっています。~
-hootからはOPM以外の音声が出力されます(ADPCM/PCMなど)。~
-一部のゲームには音源ドライバ自体に問題があり、曲の開始時に音色化けが発生することがあります。~
(顕著な例:うろつき童子、闇の血族など)~

*** その他の制御方法 [#j4c6d9e9]
-c86ctl+[[私家版ねこープロジェクトII:http://www.vesta.dti.ne.jp/~tsato/soft_s98v3.html]]
--NP2のフォルダにc86ctl.dllをコピーし、サウンドボードの選択で118、86、86+ちびおと、スピークボードのどれかを選んで下さい。~
前者2つはOPN3L/OPNAモジュールで有効、後者2つはOPNAモジュールで有効です。86を選択した場合は86PCMのみがPC側から再生されます。~
またnue氏の[[c86ctl_wrapper:http://nue.dip.jp/~nue/wiki/]]を使うことでgimic_pcidebug同様にc86ctlにもdelayを付加することが可能になります。~

-gimic_pcidebug+[[ROMEO対応XM6 Ver2.05:http://nue.dip.jp/~nue/wiki/]]
-gimic_pcidebug+[[ROMEO対応XM6g Ver2.05:http://nue.dip.jp/~nue/wiki/]]
--gimic_pcidebugを同じフォルダに入れて下さい。~
なおXM6のADPCMバッファはデフォルトで100msなのでpcidebug.iniのdelaymsも100msにすればADPCMと同期が取れます。~

-gimic_pcidebug+[[ROMEO対応X Millenium(050214版):http://retropc.net/yui/xmil.html]]~
--gimic_pcidebugを同じフォルダに入れて下さい。またオプションでFM Boardにチェックを入れて下さい。~
こちらでは未確認ですが恐らくSSGはPC側から鳴らないと思われます(ROMEOのYMF288で鳴らすと思われる為)~

-gimic_pcidebug+[[ROMEO対応WinX68k(v0.65):http://retropc.net/usalin/]]~
--gimic_pcidebugを同じフォルダに入れて下さい。またOption→Sound→ROMEO使用にチェックを入れて下さい。~

-gimic_pcidebug+[[c86ctl対応x68sound:http://nue.dip.jp/~nue/wiki/]]+[[ZMDRIVE:http://www27.tok2.com/home/studioMM/MusicRoom/zmdrive_dl.html]]~
--gimic_pcidebugとc86ctl対応x68soundを同じフォルダに入れて下さい。またX68Sound.iniのopmflagを2に変更して下さい。~

-gimic_pcidebug+[[c86ctl対応x68sound:http://nue.dip.jp/~nue/wiki/]]+[[MXDRVg(MXV):http://gorry.haun.org/mx/]]~
--gimic_pcidebugとc86ctl対応x68soundを同じフォルダに入れて下さい。またX68Sound.iniのopmflagを2に変更して下さい。~
MXVのMXDRVg設定で「ROMEOで演奏する」にチェックを入れて下さい。~

-gimic_pcidebug+[[c86ctl対応x68sound:http://nue.dip.jp/~nue/wiki/]]+[[超連射68k:http://www2.tky.3web.ne.jp/~yosshin/]]~
--gimic_pcidebugとc86ctl対応x68sound(超連射側にも同ファイルがありますが上書きして下さい)を同じフォルダに入れて下さい。~
またX68Sound.iniのopmflagを2に変更して下さい。~

※訂正~
2012/01/14から01/19までにかけて記載していたpcidebug.sysは実際には不要でした。該当ファイルは消して貰って構いません。~

** MIDIデバイスの確認 [#b2909ec8]
&ref(midienum.zip);をダウンロードしてMIDIEnum.exeを実行して下さい。以下のように表示されます。~

|WindowsXPの場合|WindowsVista/7の場合|
|&ref(x_device.jpg);|&ref(7_device.jpg);|

ここでプロダクト名がMicrosoft GS~のメーカーIDの上にある[]内の数値をhoot.iniのoutput_midi_device=に記載してください。~

** c86win.exeの使い方 [#l519c400]
c86win.exeは開発者向けのツールですが、OPNAモジュールのSSG音量バランスを設定できる為紹介しておきます。~
また単体でもS98Playerとしての機能を持っていますが開発用の為、ループには対応していません。~
hootなど他にc86ctlを使うソフトが立ち上がっていない状態でc86win.exeを起動して下さい。~

c86win.exeの利用にはVC2010のランタイムが必要です。事前に[[こちら:http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=c32f406a-f8fc-4164-b6eb-5328b8578f03]]を導入して下さい。~

#ref(c86win.jpg);~~

|ボタン|機能説明|
|Initialize|押さないで下さい(開発用)|
|DeInitialize|押さないで下さい(開発用)|
|GetMBInfo|マザーボードの情報を表示|
|GetModuleInfo|接続されているモジュールの情報を表示|
|GetFWVer|ファームウェアバージョンを表示|
|TEST1|押さないでください(開発用)|
|adpcmZeroReset|押さないでください(開発用)|
|GetSSGVol|OPNAモジュールのSSG音量バランスを取得(初期値31)|
|SetSSGVol|OPNAモジュールのSSG音量バランスを設定|
|GetPLLClock|モジュールのPLLクロックを取得|
|SetPLLClock|モジュールのPLLクロックを設定|

SetSSGVolで以下の値をセットすることで各機種のFM/SSG音量バランスに変化します。~
初期値は98OPNA(86ボード)の31です。値の範囲は0~127です。~

|機種|設定値|
|98OPN系|38|
|98OPNA系|31|
|88OPN系|69|
|88OPNA系|63|

hootを起動する前に上記の値をセットすることで該当機種のSSG音量で演奏することができます。~
hoot起動中に動的に変化させることはできないのでご注意下さい。~


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