Board logo

标题: DOS下的 AC97音效卡不會有驅動~~只會有播放器或者函式庫 [打印本页]

作者: winson4829     时间: 2009-5-12 09:26    标题: DOS下的 AC97音效卡不會有驅動~~只會有播放器或者函式庫

DOS 下的 AC97 音效卡不會有驅動~~~ 只會有播放器或者 AC97 的晶片函式庫(C/C++ library) (需自行用函式庫開發播放程式)

很多人在找 AC97 或 HD (Realtek, Intel ICH, VIA ...) 的 DOS 驅動程式 ~~ 我可以很明確的回答, 除了該晶片有提供 SB (聲霸卡)相容模式外, 不可能會有驅動程式, 有的只會是播放器或者是 AC97 的晶片函式庫

上述的支援 AC97 標準的晶片中, 只有 VIA686B 有提供 SB 相容模式, 若你的主板是使用此晶片組, 恭禧你, 你可以照下列設定即可, 可以讓幾乎所有的 DOS 遊戲都有音效 :

1. 首先在 BIOS 設定在一定會有一個 leagcy sound 的設定, 設定 enable (會有相關選項 IRQ 及 I/O PORT 要設定)

2. 找到 VIA686B 的 AC97 驅動 (VIAUDIO.COM 及 VIAFMTSR.COM)

3. 在 autoexec.bat 設定如下
SET BLASTER=A220 I5 D1 T2
LH  VIAUDIO.COM
LH  VIAFMTSR.COM                        <-- 這一行有或沒有無所謂


若是其它的 AC97 晶片~~~就不可能有驅動, 原因在於

PURE DOS 的遊戲支援絶對只支援 SB 相容 或 ESS AudioDrive(可能有可能沒有), 因為在 DOS 的年代, 並没有 AC97 的標準

SB 的標準 Control I/O 假設為 0x220, 所有的控制碼都會送到此埠位址, 若主板在此位址無相容 SB 的 controller 作處理, 是絶不會有動作的.

所以 MPXPLAY 等 DOS 下的撥放程式. 若有支援 AC97 或 HD 音效晶片, 一定是直接控制音效晶片發聲的, vSyncMAME 及 MPXPLAY 都是如此.

這是我寫的 DOS AC97 MP3 撥放程式 http://www.cn-dos.net/forum/viewthread.php?tid=43606&fpage=1 也是直接控制晶片發聲

結論

a. AC97/HD 絶對不會有 DOS 驅動 (即 SB 相容模式, VIA686B 晶片組除外)

b. PURE DOS 下的遊戲(非MAME)也不會有對 AC97 或 HD 的支援

c. 只能透過  AC97 或 HD 音效晶片的直接控制, 來撰寫播放器或函式庫(C/C++ library)

所以~~不用再找驅動程式了
作者: stockghost     时间: 2009-5-12 11:24
感谢楼主解惑,请提供C/C++ library或相关的下载地址.
作者: ACW     时间: 2009-5-12 15:08
下面有AC97 Controller driver for DOS,是TSR方式的,但不是SB相容模式,而是定义了新的(据作者说十分简单易用的)API:

http://www.georgpotthast.de/dossound/

这个驱动是上个月刚出的。里面有个DOSAMP程式可以播放WAV文件。如果楼主有兴趣的话可以用这个API写个MP3播放器。
作者: stockghost     时间: 2009-5-13 09:19
多谢楼上提供!
仅仅能在前后台播放wav文件,不过也能满足一些简单的应用了.