2009/01/07(水)

XP環境でYMF7x4チップのFM音源を使って遊ぶメモ このエントリをはてなブックマークに追加 

Filed under: Adlib Tracker II,YMF7x4,チップチューン,雑記,音楽 — KAY @ 22:38:26

先日うちのマシンのM/Bを替えたんですが、その際、PCIスロットがひとつ余ったので死蔵してたYMF744B搭載のサウンドカードを挿しました。
このチップではOPL3互換のFM音源が使えるので、どうにかこれを使って遊べないかと思ったんですね。
で、Adlib Tracker IIに辿り着きました。
XPのDOS窓に対応したFM音源トラッカーです。

これの導入までには本当に色々あったんですが、一応使えるようになったので、XPSP3+Adlib Tracker II(以下AT2)にてYMF744のFM音源を使えるようにする過程を備忘録として残しておきます。

何より、エミュレーションではなく本物のOPL3互換チップを使えるというのが一番の魅力だと思いますので、試せる環境にある方はぜひお試し下さい。ただし自己責任で。
YMF724、YMF754でもほぼ同様の手順で動かせるかと思いますが、こっちでは試せないです。誰か試して。
ちなみに、フィーリングで判るであろう部分はさくっと省略してたりします。

まずドライバ入れます。
http://www.yamaha.co.jp/english/product/lsi/download/

XP用のやつは「v. 5.12.01.5244」てなってますが、探せば5245もあるみたいです。(YMF754用?)
まあどっちでもいいです。
このドライバを入れるには少々コツがあって、有志が配布していたカスタムINFを使います。なぜ過去形なのかというと、配布サイトは今はもう無いからです。仕方ないのでウェブアーカイブから拾ってきます。
NLDS1_WDM5244b3.inf

↓5245ドライバの場合はこっち。
NLDS1_WDM5245b2.inf

で、YAMAHAのサイトから拾ってきたdsxgxp.exeはそのまま実行せずに、CABの解凍が出来るアプリで解凍してやります。
出てきたファイル群の「NLDS1XXW.INF」を「NLDS1XXW.INF.bak」とか適当にリネームして、代わりにカスタムINFを「NLDS1XXW.INF」にリネームして同一フォルダにぶち込んでインストールします。んー、これ、setup.exeからじゃ上手く入れられなかったっけ……よく覚えてない。INFを右クリしてインストール? ハードウェア検出ウィザードからインストール? まあその辺フィーリングで。

追記:詳細なドライバインストール方法

ところでこのカスタムINF、中を開くと「YAMAHA DS-XG FM-Synthesizer (WDM)」という記述があるんですが、これがどうも文字数制限に引っ掛かるらしく、サウンドのプロパティとかで、デバイス名が表示される時に途中で切れちゃうんですよね。だからKAYはあらかじめ「YAMAHA DS-XG FM-Synth (WDM)」に変更しておきました。この辺も個人のお好みで。

それと、上記カスタムINFを使った場合は特に必要無いと思うんですが、一応YMF7x4Utilitiesも入れておきましょう。
倉庫→Y7x4Util10.lzhから落とせます。

このソフトを使うとOPL3をMIDI音源として使えるようになります。
「レガシー」の項目で「FMとMPU401」または「FMのみ」を選ぶと、MIDIデバイスで「YAMAHA DS-XG FM-Synth (WDM)」が選べるようになります。設定の変更後はOS再起動。

※ただし、後ほど説明しますがMPU401は使えるようにしておいた方がいいです。

デバイスマネージャを開いて「YAMAHA DS-XG Legacy Sound System (WDM)」と出ていればドライバのインストールは完了です。
この時、ドライバのプロパティを開いて「リソース」タブのI/Oの範囲を確認しておいて下さい。3つあると思うんですが。このうち、一番下のやつがFM音源のI/Oポートになります。この数字後で使います。

さて。ようやく前準備が終わりました。こっからがまた大変です。
とりあえずAT2を落としておきましょう。現時点ではG3の2.3.38が最新版かな? 適当なフォルダに解凍して、ひとまずそれは置いておきます。
AT2はI/Oを直接叩くので、XPではそのまま立ち上げても音が出ません。そこで、PortTalkを使います。なんかXPとかでI/Oが直接操作出来る様になるやつらしいです。よく判りません。
特にインストール作業とかは必要ないみたいですね。どうも起動時にドライバの有無を判別して、無ければ勝手にインストールしてくれるようで。便利便利。
アーカイブ内の「porttalk.sys」を「C:\WINDOWS\system32\drivers」にあらかじめコピーしておく必要があります!
解凍したらその中にAllowIo.exeというのがあると思います。これを右クリックして、ショートカットを作成します。
ショートカットのプロパティを開いて、「ショートカット」タブにてリンク先にAllowIo.exeをフルパスで指定してやり、引数に「adtrack2 0x388」と指定します。

例)
D:\porttalk\AllowIo.exe adtrack2 0x388

「0x388」というのは先ほど確認したFM音源のI/Oポートアドレスです。
それと、作業フォルダをadtrack2.exeのあるフォルダに変更しておきましょう。
次に「オプション」タブを開いて「全画面表示」にチェックを入れ、コードページを「437」にしておきます。
ここまで出来たら「適用」→「OK」をクリック。
あとはこのショートカットをスタートメニューとかよく使う場所においておけばおk。

ん? もう起動してみた? 気が早いよ! AT2側でI/Oポートの自動認識に失敗すると思います。
これだけじゃあちゃんと立ち上がってくれないんですよねー。どうもレガシードライバをアクティブにしてやる必要があるみたいで。
ここでMPU401の出番です。入出力どちらでも構わないので、MPU401を使用中の状態にしておくと大丈夫なようです。
Cubase4やSOL2などのDAWソフトやKbMedia Playerを使ってもいいんですが、なるべく軽そうなソフトを……という事で、KAYはソフトウェアMIDIキーボードを選びました。せっかくだから。
MIDIデバイスにMPU401を指定した状態であらかじめこれを立ち上げておき、上記ショートカットを起動させてみて下さい。
立ち上がりましたよね? 多分。

この一連の作業をどうにか自動化出来ないかと思ってバッチファイルとか作ってみたんですが、どうにも思い通りの振る舞いが実現できないので、諦めました。
startコマンドでMIDIキーボードを立ち上げて、pingコマンドでウェイトを噛ましてAT2を起動……というところが限界。
MIDIキーボードを非アクティブ状態で立ち上げられない(=DOS窓をアクティブ状態に戻せない)・AT2終了と同時にMIDIキーボードを終了させる事が出来ない……等。
誰かCOOOOOOLなバッチファイル作ってくれよ!!

追記。
WSHを使って自動化出来ました。
このWSHを使う場合はAllowIoのショートカットを作る必要はありません。

それはさておき、じゃあほんとに音が鳴るかどうかっつー事で、サンプル曲を再生させてみましょう。
ありがたい事にAT2には大量のサンプルが同梱されています。
Ctrl+Lでファイル選択のダイアログが出るので、その中から「MODULES」フォルダに入り、さらに作者別(?)にフォルダが分かれてるので適当に選んでロードします。
読み込んでダイアログが閉じたらF5キーで再生です。
ちゃんと音が出てるのが確認できたらF7キーで停止。終了はESCです。その他の操作はマニュアルを参考に。
というかKAYがまだ全然使い方判ってません。誰か教えて下さい。

コメント(2)

  1. Comment by ニコ術 — 2013/07/26(金) @ 00:40:51

    私は最近YMF724搭載ボードを100円で入手してXG MIDI音源を楽しんでいたのですがFM音源なるものは使えなかったので参考にさせていただきました。
    Adlib Tracker IIを起動してFM Synthから音が鳴ったときは感動しました^^
    が、Adlib Tracker IIの表示がおかしくて文字が一切出ないです。。。
    何ででしょう^^;

  2. Comment by KAY — 2013/07/27(土) @ 01:25:19

    すみません!
    こちらも今はもうXP環境が無くて、細かい検証が出来ないんですよー。

    ただ、AT2の表示がおかしいという事ですので、
    ・全画面表示になっていない
    ・コードページが437になっていない

    あたりがあやしいかなーという気がします。
    後は……フォントかな……。

    記事中にあるショートカットのプロパティから、その辺りの設定を確認、変更してみて下さい。

トラックバック(0)

この記事へのトラックバックはありません。

RSS feed for comments on this post. TrackBack URL

Leave a comment