DOSBoxから外部MIDI音源にMIDI出力
DOSBoxからPCに接続したMIDIインターフェースなどを介して外部機器にMIDIデータを送る方法。
DOSBoxにはMPU-401エミュレーション機能がある。MPU-401はDOS時代に標準的に使われたMIDIインターフェース。これを使えばDOSBox上のアプリケーションからホストPCのMIDIインターフェースにMIDI出力ができる。(MIDI入力はできない。)
必要なものはホストPCに接続するMIDIインターフェースとMT-32,SC-55,SC-88などのMIDI音源。
1. ホストのPCに(USB)MIDIインターフェースとMIDI機器を接続する。
2. MIDIデバイスのIDを調べる。
DOSBoxを起動する。(日本語DOSへのディスクブートをする前の状態で。)コマンドラインで「mixer /listmidi」を実行する。
ホストPCのMIDIデバイスのIDと名前の一覧が表示される。Microsoft GS Wavetable SynthはWindows標準のMIDI音源エミュレーション機能であり、MIDIインターフェースではない。ここではUM-1の"0"をメモしておく。
3. DOSBoxの設定ファイルを編集する。
DOSBoxのインストール先ディレクトリを開いて「DOSBox 0.74 Options.bat」を実行する。メモ帳でdosbox-0.74.confが開かれる。[midi]セクションの「midiconfig=」を「midiconfig=[id]」に書き換える。今回の例では「midiconfig=0」になる。書き換えたらファイルを保存する。
DOSBoxに対する設定はこれで完了。DOS上ではWindowsのようなMIDIに関する共通の枠組み(デバイスドライバやAPI)は存在しない。つまり、MIDIの制御方法はソフトウェア毎に異なり、設定方法もまた異なる。共通するのはI/Oポートベースアドレスと割り込み番号(IRQ)を指定する点。DOSBoxのMPU-401インターフェースは標準設定と同じで、I/Oポートを330h、割り込み番号を2および9に指定する。(PC/AT互換機においてIRQ2とIRQ9は同じ1つの割り込みである。)
IBM版日本語MS-Windows Ver.3.1での設定方法は以下の通り。
まずWindowsを起動してコントロールパネルから「ドライバ」を開く。「ドライバ」ウィンドウが開いたら「追加」ボタンをクリック。「Roland MPU401 MIDI Driver」を選択する。
Portは330、Interruptは2/9を選択する。
設定を完了すると再起動を要求されるので、再起動する。コントロールパネルを開いて「MIDIマッパー」を開き、「新規」ボタンをクリック。
名前や解説は適当に決める。全てのチャンネルのポート名を「Roland MPU-401 MIDI Out Port」に変更する。
Windows共通設定(MIDIマッパー)に対する設定はこれで完了。DTMソフトなど、一部のソフトウェアでは独自のMIDIマップ設定を用いることがある。その場合は各ソフトウェアで設定を行う。例えばSinger Song Writer Audio for Windowsの場合は、メニューバーの「MIDI・Wave」から「MIDIポートの設定」を開く。