今となっては失われつつあるMDXデータの作成方法を記載します。
MDXとはかつてSHARP X68000シリーズ用のFM音源ドライバとして栄華を誇ったMXDRVのデータ形式です。*1
GIMICのお試しファームウェアにはMXDRV互換ドライバ*2が組み込まれている為、S98ログを採取せずとも直接MDXデータを再生することが可能です。
このページではファームウェアに内蔵されたMXDRV互換ドライバを利用してOPMモジュールで楽曲を作成する為の解説を行います。
MXDRVでの楽曲作成はMMLという言語(詳細はこちら)を用いて行いますが、テキストファイルに演奏情報を記載しコンパイラでMDXデータ形式へと変換を行う必要があります。
現存するコンパイラにはnote.xとmxc*3、MADRV用コンパイラmac.x*4などがあります。
上記3つのコンパイラが出力するMDXデータの互換性はMXDRVに準じた物になっていますが、入力するMMLの仕様はそれぞれ異なります。
本家mxc.xで作ったMMLファイルをコンパイルしたいという方は下記を参考にしてrun68を併用して本家mxc.xを使ってください。
■note.xを使う場合
note.xはX68000のOSであるHuman68k用の実行ファイルである為、そのままではWindows上で動作させることができません。
そこでrun68というHuman68kのコマンドラインをエミュレーションするツールを併用して実行します。
■mxcを使う場合
PC-98x1用ですがPC/AT互換機でも動作するようです。しかしNT系OSではコンソール表示が行われないので注意が必要です。
■mac.xを使う場合
mac.xはX68000のOSであるHuman68k用の実行ファイルである為、そのままではWindows上で動作させることができません。
そこでrun68というHuman68kのコマンドラインをエミュレーションするツールを併用して実行します。
現状、PC側からGIMICへMDXデータを直に転送して再生することができないので制作中の曲データの再生に使うことになります。
上記の他にもMDXプレイヤは存在していますが、エミュレーションの精度が低いのでRuRuRuさんのMDX/MDCinputをお勧めします。*5
foobar2000をインストールしたらC:\Program Files\foobar2000\componentsにfoo_input_mdx.dllをコピーすればOKです。*6
foobar2000を起動したらFile→Preferencesを開いてMDX inputの設定を行ってください。
#ref(): File not found: "foobar2000.jpg" at page "MDXデータ作成"
SampleRateに62500Hzを選択し、Use LPFのチェックを外して下さい。これでGIMICの音声出力に近い出音になります。
例としてnote.xを使った場合の環境構築の方法を記載します。上記サイトからNOTE085.LZH、run68bin-009a-20090920.zipをダウンロードして解凍してください。
#ref(): File not found: "notex.jpg" at page "MDXデータ作成"
NOTE085.LZHに含まれるデータで必要なのはnote.xだけです。note.doc*7はMMLの仕様が記載されているマニュアルなので目を通しておきましょう。
#ref(): File not found: "run68.jpg" at page "MDXデータ作成"
run68bin-009a-20090920.zipに含まれるデータで必要なのはrun68.exeとrun68.iniだけです。
#ref(): File not found: "mxdrv.jpg" at page "MDXデータ作成"
note.x、run68.exe、run68.iniを一つのフォルダの中にコピーします。Cドライブ直下にmxdrvというフォルダを作ってそこに入れるのが良いと思います。
後はコマンドラインで
run68 note.x コンパイルするファイル.MML
と入力することでMDXデータを作成できます(以下のような表示が行われます)
#ref(): File not found: "compile.jpg" at page "MDXデータ作成"
コンパイル後、即座にfoobarで曲を再生したい場合は以下のようなバッチファイルを用意すると良いでしょう。
"C:\Program Files\foobar2000\foobar2000.exe" /stop
run68 note.x コンパイルするファイル.MML
call "C:\Program Files\foobar2000\foobar2000.exe" "%~dp0再生するファイル.MDX"
pause
※foobarで該当MDXが再生中の場合、ファイルがロックされていてコンパイルに失敗するので事前に演奏を停止しています。