Image: YMF7x4系サウンドカードとSB16のリソース競合を回避 [DOS]

DOS環境でYMF7x4(YAMAHA DS-XGチップ)系サウンドカード(AOpen AW744)とSound Blaster 16を共存使用する方法。

YMF7x4にはDOS互換エミュレート機能(Sound Blaster 16相当)があり、Sound Blaster系サウンドカードと同時に使用するとリソースが競合する。それならいっそのこと片方に絞れば、という話になるのだが、Sound Blaster 16はPCM音源の音質がイマイチ、YMF7x4はWindows 3.1に対応していないということで、どちらも捨てがたいのだ。(DOS専用マシンを組めという話はナシで)

Windows 98ではプラグアンドプレイ機能によりリソースが重複しないように自動で設定されたようだが、GamePortだけ競合エラーが出たので、YMF7x4側のGamePortを無効にした。デバイスマネージャーから「YAMAHA DS-XG GamePort」のプロパティを開き、「このハードウェアプロファイルで使用不可にする」にチェックを入れる。(GamePortというのはAW744サウンドカード上の黄色のD-Sub 15ピン端子に接続するジョイスティックを使うためのインターフェースのこと。)
Image: デバイスマネージャ - システムのプロパティ(Windows 98)
Image: AW744/YAMAHA DS-XG GamePortのプロパティ

DOS環境ではYMF7x4のリソース設定はMS-DOS用デバイスドライバ・ソフトウェアに同梱のSETUPDS(DS-XG PCI configuration utility)という設定プログラムを使う、のだが。

SBエミュレートのI/Oポートは220hに固定されていて、設定を変えることはできない。この状態でSB16のDIAGNOSEコマンドを実行するとリソース重複のエラーが出る。YMF7x4の設定は変えられそうにないので、SB16側の設定(JP7/JP8)をいじくってI/Oポートを240hに変更した。

FM PORT ADDRESS(FM音源のI/Oポート)は388hだとSB16と重複するので、それ以外の項目に設定しておく。しかし、ソフトウェアのバグなのか、FM PORT ADDRESSの設定だけが保存されない。私の環境の場合では388hに設定するとFM音源の音はYMF7x4から出力される。388h以外に設定すればSB16から音が出るので、設定は反映されてはいるのだろう。DOSを起動する度にSETUPDSから設定し直すのは面倒なので388hで放置しているが、今のところ問題は出ていない。

DOS起動時のSB16とSETUPDSのメッセージ

Creative DOS Multimedia Architecture (v1.00)
CTSOUND Physical-Level driver (v1.02) for Sound Blaster 16.
Copyright (C) Creative Technology Ltd., 1993. All rights reserved.
    ドライバ・ユニット番号 = 0
    ベース I/O アドレス = 240 hex
    IRQ = 2
    DMA チャネル = 3
    高 DMA チャネル = 5

Creative DOS Multimedia Architecture (v1.00)
CTMMSYS Integration driver (v1.01)
Copyright (C) Creative Technology Ltd., 1993. All rights reserved.

サウンドカードは以下のように構成されました : A240 I2 D3 H5

DOS/4GW Protected Mode Run-time Version 1.97
Copyright (c) Rational Systems. Inc. 1990-1994
DS-XG PCI configuration utility ver 3.14
Copyright (c) YAMAHA corporation 1997-1999. All rights reserved.

 Sound Blaster ......... Port:220  IRQ:5  DMA:1
 FM .................... Port:388

DOSゲーム、Windows 3.1ともサウンド再生は問題なし。この設定構成では先に述べたようにFM音源のI/Oポートが重複しているため、FM音はYMF7x4チップで再生されるが、音はSB16のほうが若干鮮明であることを除けば再現性は良いので、あまり問題にならない。SB16のラインアウトをAW744のラインインにつなげば配線もスッキリ。


旧ブログでのコメント

AUTHOR: 試運転
URL: http://shiuntenlos.ie-yasu.com/
DATE: 2013/08/30 23:41:19
YMF7x4とは懐かしいですね。
こんばんは

昔Xwave6000を使っていましたし、未だ所有しています。

XPなマシンを所有していた頃まではバリバリ使っていたのですが、
本体をwin7に更新してからは、部屋のオブジェです(笑

某掲示板を見ていると、YMF7x4はvista以降だとまともに使えない
(というか、MIDIそのものが不遇な扱い)ようです。

まだカードは使えるんだけどなぁ(苦笑

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

いつの間にか、私のHPをブックマークに登録していただいたようですね。
ありがとうございます。
先日、ノート機にFD1155Dを接続する記事を書いたので、お時間があればご覧になってください。

AUTHOR: akm
URL:
DATE: 2013/09/01 17:02:59
Re: YMF7x4とは懐かしいですね。
いつもコメントありがとうございます!!

Xwave6000!XG音源搭載サウンドカードと言えばこれでしたね~。
私が古いPCやパーツに興味を持ったのはつい最近のことで、当時はこの記事に書いた内容も含めてPCの知識は全くありませんでした。
(ここでは最近言及していませんが、私は物心が付いた頃にはWindowsが一般的だった世代なので。)
当時MIDI録音・再生はRolandの電子ピアノやVSC(SC-88もどきのソフト音源)を使っていました。(^^;

Win7まではMIDIマッパーの出力先を変更できたので、SC-88Proなどの外部MIDI音源が使えたのですが、
Win8ではMIDIマッパーが完全にMSGS固定となりました。BGMがMIDIのWindowsゲームは場合によっては悲惨なことになります。
MIDIファイルの再生は複数MIDIデバイスに対応するMIDIシーケンサーを使えば何とかなります。

私の場合はWin98機やXP機があるので、わざわざWin8でMIDIを再生するようなことはありませんが。
むしろ所有しているソフトやMIDIファイルなどの資源が少なくて、活用されないハードがかわいそうです。(笑)
もっと積極的に活用していきたい。


※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。

管理人 : Akamaki (akm)

は、PCとVTuberに夢中になっている電気技術者です。

私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。

私の活動はトップページで見ることができます。読んでくれてありがとう!