查看: 10|回复: 0

从 IRQ 到 DMA——DOS 声卡驱动配置从入门到精通

[复制链接]

142

主题

0

回帖

450

积分

中级会员

积分
450
发表于 2026-5-22 23:01:17 | 显示全部楼层 |阅读模式
本帖最后由 风吟-X 于 2026-5-23 16:33 编辑

如果你刚淘到一块 Sound Blaster 16,兴冲冲插上机器,却发现游戏里有画面没声音——别急,你不是一个人。DOS 下配置声卡,是每一个老硬件玩家必须跨过的槛。


为什么 DOS 游戏认不出我的声卡?

Windows 95/98 有即插即用,驱动装好就能出声。但在 DOS 下,游戏需要直接操作硬件——它必须知道声卡的 I/O 地址、IRQ 中断号和 DMA 通道。


核心三要素:I/O、IRQ、DMA

I/O 地址:Sound Blaster 标准是 220h。绝大多数游戏默认 220h,一般不轻易改。

IRQ 中断号:SB16 默认 IRQ 5,备选 7/9/10。注意 IRQ 7 通常被 LPT 打印口占用。

DMA 通道:SB16 默认 DMA 1(8-bit),16 位音频需设置高端 DMA 5。


经典配置方案

Sound Blaster 16(CT2940):SET BLASTER=A220 I5 D1 H5 T6

Sound Blaster Pro:SET BLASTER=A220 I5 D1 T4

ESS ES1868:ESSCFG.EXE /I:220 /D:1 /Q:5 + SET BLASTER=A220 I5 D1

Yamaha YMF719:YMF719.EXE /I:220 /Q:5 /D1:1 + SET BLASTER=A220 I5 D1 T4


常见问题排障

1. 测试有声进游戏没声——进 Setup 手动选 SB16 并确认参数与 BLASTER 一致。

2. 爆音杂音——运行 MSD.EXE 查看 IRQ 占用,尝试换到 IRQ 9 或 10。

3. 声卡和鼠标冲突——串口鼠标占 IRQ 4,把声卡改到 IRQ 5 即可。

4. 16 位有声 8 位没声——检查高端 DMA 5 是否设置。


驱动加载顺序(CONFIG.SYS / AUTOEXEC.BAT)

先加载 HIMEM.SYS 和 EMM386.EXE,再加载 SB16.SYS。AUTOEXEC.BAT 中先 SET BLASTER,再运行 DIAGNOSE.EXE /S 静默检测,最后 MIXER.EXE 设音量。


省事的方案

UniSound——TSR 程序自动拦截游戏声卡访问,兼容大量游戏。VDMSound——Windows 下的 DOS 声卡模拟器。


写在最后

DOS 声卡配置完全是反人类的设计——没有即插即用,全靠跳线和环境变量。但正是这种需要自己动手才能出声的体验,让当年每个成功配好声卡的玩家,都有一种说不出的成就感。你当年配声卡踩过什么坑?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 Licensed © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
QQ客服返回顶部