兩張以上的音效卡共存在一台電腦上的方法


是的,我的標題已經明確的指出,兩張『以上』的音效卡共存在一台電腦上也是做得到的。

自從 PCI 音效卡出現,伴隨而來的問題就是:『我該把 ISA 音效卡丟掉嗎?』『PCI 音效卡可以完全取代 ISA 音效卡嗎?尤其是 DOS games 的相容性真的沒問題嗎?』

其實,你的 ISA 音效卡無須丟掉,PCI 音效卡的 DOS games 相容性更是不值得完全信任。所以,不斷的有人問:『我可以插兩張音效卡在電腦上嗎?』

答案當然是可以的。文末,更直接為大家示範三張音效卡共存的方法。

1 ISA + 1 PCI 音效卡的方法

過去 UltraSound 盛行的時代,我就是在電腦上插上一張 SB16,一張 UltraSound,兩張卡用立體聲耳機訊號線接起來就可以了。秘訣在於不要讓 UltraSound 去模擬 SB,且避開 SB 用的 I/O 位置 220h。現在,PCI 與 ISA 音效卡的共存仍然要掌握這個最高原則:不要讓彼此的 I/O 位置相同。

然而,其實這是很簡單的事情,PCI 的 I/O 位置通常不是在傳統 000-3FFh 這段位置,且 PCI BIOS 會自動分配 I/O & IRQ,所以基本上,一張 ISA 音效卡與一張 PCI 音效卡共存的系統,在開機時,根本沒有相衝的問題。

但是什麼時候開始有相衝的問題呢?就是當你讓 PCI 音效卡去模擬傳統 SB、SB Pro 音效卡時,相衝的問題就會隨之而來。因為想要相容傳統 SB、SB Pro 音效卡,勢必要多去佔用 220h 這個 I/O 位置,可是 ISA 音效卡已經卡在那邊,相衝的問題就來了。

不過呢,根據我的實驗看來,當系統上已經被一張 ISA 音效卡佔用傳統位置時,PCI 音效卡的 SB、SB Pro 模擬程式會避開這些位置與 IRQ,另外去用其他的位置 & IRQ。雖然這樣就避開來了,但是其實也是沒有必要的作法。在此,我建議大家不如主動把 PCI 音效卡模擬傳統 ISA 音效卡的部分給關掉。以下我們將以一張 SB16 + 一張 YMF724 音效卡來做為例子。

首先是 SB16 的 I/O 位置(由於顯示範圍不夠,看不到 IRQ 使用情況):

SB16 default I/O

但是插上一張 YMF724 時,YMF724 的 SB、SB Pro 模擬部分,I/O 位置自動改成:

YMF724's Legacy with SB15

這樣的 SB、SB Pro 模擬,不如不用,所以我們這麼做:

YMF724 disable Legacy

上圖是自裝置管理員中找到 YMF724 的 SB、SB Pro 模擬部分,手動將『停止此硬體設定檔』給關掉的畫面。

除此之外,兩張音效卡都有搖桿埠,為了減少不必要的麻煩,建議將 YMF724 的搖桿埠也關掉。這樣我們就確定只要把搖桿插在 SB16 上就對了。如下圖:

YMF724 disable Legacy

到此為止,音效卡的設定畫面應該如下:

SB16 + YMF724 fixed

但是到此有一個疑問:『既然我有兩張音效卡,那麼 Windows 會主動去用哪一張?』

其實這要看你在『多媒體』→『音效』→『播放:喜歡使用的裝置』是選什麼。選擇 YMF724,則往後系統事件音效、支援 DirectX 的遊戲等,就是由 YMF724 輸出,反之則由 SB16 輸出。但是如果是遇到傳統 DOS 的遊戲,則一定是從 SB16 輸出,因為我們已經把 YMF724 的 SB、SB Pro 模擬給關掉了。

最後,將兩張音效卡用立體聲耳機訊號線連起來就完成了。我自己的做法是將 SB16 的 Line-Out 接到 YMF724 的 Line-In,然後統一由 YMF724 輸出所有的聲音。當然,請記得打開 YMF724 的 Line-In 音量,這樣才聽得到 SB16 的聲音。

我們再舉一個例子,是 SB16 + SB Live! 的。

SB16 + SB Live! fixed

相信很多人知道,SB Live! 可以模擬 SB16。而在這個例子中,我們發現,當 SB Live! 偵測到系統上有真正的 SB16 時,根本就不會啟動自身的 SB16 Emulation,所以我們也就沒得關了。除此之外,我們要記得將 SB Live! 的搖桿埠給關掉,就是上面那張圖啦!

1 PCI + 1 PCI 音效卡的方法

由於都是 PCI 音效卡,所以開機時已經透過 PCI BIOS 將兩張卡的基本 I/O & IRQ 給分配好了,完全沒有相衝的問題。兩張卡的訊號連接方法也是如同前一個章節所述。至於 SB、SB Pro 模擬的部分,您就挑這兩張中相容性比較好的那一張,而把另外一張用上一個章節的方法,自『裝置管理員』中給主動關掉就可以了。

不過,事情沒有那麼簡單.....

您的 PCI 音效卡,很可能兩張都支援 A3D。而支援 A3D 的音效卡,普遍都有 A3D.DLL,且都會安裝到 WINDOWS\SYSTEM 目錄下。而這個 A3D.DLL,是獨立的,不是共用的,每個 PCI 音效卡有自己的 A3D.DLL,不能交換使用。所以在此我們要決定一件事情:『捨棄哪一張卡的 A3D?』

挑選的原則當然是捨棄 A3D 效果較差的那一張囉!這個就看你自己決定。接下來,先安裝那張你準備要捨棄 A3D 的音效卡的驅動程式,再裝那張你要用 A3D 的音效卡驅動程式,這樣 WINDOWS\SYSTEM 下的 A3D.DLL,就會被自動取代掉。除此之外,決定要拿來使用 A3D 的音效卡,也需要按照前面決定哪一張音效卡是 WINDOWS 內定的音效卡做法,將這張要用 A3D 的音效卡,在『多媒體』→『音效』→『播放:喜歡使用的裝置』設定成這一張,如此一來遊戲才會使用這一張音效卡的 A3D。

最後,我們拿 YMF724 + SB Live! 做例子:

SB Live + YMF724 default

上圖是將兩張音效卡在不做任何改變下的畫面。我們可以發現,所有的裝置均沒有相衝,這是拜 PCI BIOS 分配得當所賜。當然這時候其實已經可以用了,但是並不是很好的環境,我們還是需要手動關掉一些東西,請看下圖:

SB Live + YMF724 fixde

在此我選擇將 YMF724 的 SB、SB Pro 以及搖桿埠給關掉。其實這不是絕對的做法,你也可以改關掉 SB Live! 上的這兩個部分。不過我的建議是,這兩個部分要關,就關同一張卡的,不要這張卡關 SB、SB Pro,另外一張卡關搖桿埠。這樣的考量乃是基於若是玩 DOS game,且要用到搖桿,最好是同一張音效卡來負責,應該多少會比較穩定些。

重頭戲:三張音效卡共存

掌握以上原則,那麼當然三張音效卡共存也不是問題了。這次我將 SB16、SB Live!、YMF724 通通插在一起。這麼做有其實際的用途:SB16 負責傳統 DOS 環境的遊戲,YMF724 負責 MIDI,SB Live! 負責整體聲音的音場設定,且改為四聲道輸出。瞧!這是多麼強悍的組合啊!不過,主機板上插了三張音效卡,看起來也是蠻噁心的.....

首先當我們將三張音效卡的驅動程式灌好後,裝置管理員顯示如下:

3 SoundCards default

SB Live! 因為偵測到 SB16,所以自動取消掉 SB16 Emulation,我們無須擔心這個部分,倒是 YMF724 還在那邊模擬得很高興,這個要給它關掉。

除此之外,三張音效卡會有三個搖桿埠,其中 YMF724 已經與傳統 SB16 的搖桿埠相衝,所以打了個黃色的金嘆號,為了保險起見,待會也要將 YMF724 的搖桿埠給關掉。至於 SB Live! 由於設計較為完善,搖桿埠自動跳到另外一個 I/O 位置,所以沒有與 SB16 相衝。不過為了避免麻煩,SB Live! 的搖桿埠也是關掉比較好。

所以,變成這樣的畫面:

3 SoundCards fixed

我們來看看,在 Cakewalk 中,所有可用的 MIDI 裝置列表多到什麼程度:

Cakewalk's MIDI List

由於我們把 YMF724 的 SB、SB Pro 模擬給關掉,連帶影響到其 MIDI Out/In,故在上面的列表中,左方沒有出現 DS-XG MIDI-In,右方沒有 DS-XG MIDI-Out,此乃正常現象。

再來,我將『多媒體』→『音效』→『播放:喜歡使用的裝置』設定為 SB Live!,如圖:

喜歡的裝置選擇 SB Live!

也因此,我必須捨棄 YMF724 的 A3D.DLL。

最後,我將 SB16 的 Line-Out 接到 YMF724 的 Line-In,YMF724 的 Line-Out 接到 SB Live! 的 Line-In,統一由 SB Live! 輸出。前面那兩張音效卡的接線順序當然可以顛倒,只是考慮從 ISA 那邊接過來,比較不亂而已。

就這樣,三張音效卡同時使用也不是問題。

文末,我再把重點整理如下:

  1. 不論多少張音效卡,I/O & IRQ 不要相衝。
  2. 只留一張卡的 SB、SB Pro 甚至 SB16 功能,其他卡的類似功能全部都要關掉。或是在確定不需要傳統音效卡模擬的功能時,亦可以全部都關掉。
  3. 搖桿埠只留一個,建議是使用負責 SB、SB Pro 功能的那張音效卡,其他音效卡的搖桿埠要關掉。
  4. 在『多媒體』→『音效』→『播放:喜歡使用的裝置』中設定的音效卡,就是主要音效卡,遊戲使用 A3D 時也是用這張卡。
  5. 彼此在訊號上用 Line-In & Line-Out 互相連接在一起。