关于在WIN95中如何解决ALS007声卡不发声的问题已多次讨论过,总体来看故障主要出自WIN95不能准确识别ALS007声卡,从而加载了错误的驱动程序。解决这一问题的方法比较简单:删除WIN95中的“资源管理器”\“系统”\“设备管理”\“声音、视频和游戏控制器”下的与声卡有关的各项,然后启动“安装新硬件”并为WIN95提供正确的驱动程序。但有些用户可能会发现,如此处理之后故障依然存在、声卡仍不发声。那么,问题究竟来自何处呢?一个较少为人所知的事实是:主板与声卡在DMA通道上也会发生冲突,致使声卡无法发声。
下面是一实例。
一台计算机的配置为:海洋HP15主板(PCI总线)、AMD133 CPU,配有S3 64V+显示卡、ALS007声卡、同维(TW)解压卡、32MB EDO内存。在WIN 95安装完成之后,重新启动WIN 95时无声音,声卡没有正常工作。通过“控制面板”→“系统”→“设备管理”,查到产生故障的一个原因是:WIN95错误地识别了ALS007声卡类型,致使安装了错误的驱动程序。此后,在“设备管理”中,删除其中的“声音、视频和游戏控制器”下的各子项后,然后启动“控制面板”中的“添加新硬件”,在“添加新硬件向导”的提示下为其提供ALS007声卡驱动程序。安装完成之后,重新启动WIN95,系统仍无声音。再次打开“控制面板”→“系统”→“设备管理”,单击其中的“计算机”项,查看其“属性”;此时可以看到,“计算机属性”中的“中断请求(IRQ)”、“直接内存访问(DMA)”以及“输入输出(I/O)”均未显示出任何冲突迹象,声卡使用的IRQ5、DMA1以及I/O地址未被任何设备使用。至此,ALS007声卡已经正确安装、“计算机属性”中显示无任何冲突,但声卡仍然不能正常工作。
此后,笔者通过试验发现,只要将ALS007声卡使用的DMA通道号由1改为3(不能改为2或4。DMA2或DMA4分别被软盘控制器、DMA控制器所占用),则问题便迎刃而解。但其中的道理是什么?为什么在系统显示DMA1未被任何设备占用的情况下ALS007声卡却无法使用呢?一定是某一个设备在暗中使用DMA1通道、但在“系统”中却没有显示。最后,笔者打开了位于C盘根目录下的隐含文件Detlog.txt(这是安装WIN95时WIN95用于记录其检测的硬件设备及分配资源的文件),发现在其中记录着为主板分配了DMA1,至此声卡不能使用DMA1的原因得以确认。
现在,有不少的主板使用DMA1通道,但在WIN95中却无法查看这一信息。所以,当你的声卡(不限于ALS007声卡)不能正常工作时,除其它可能的因素外,还应该考虑声卡与主板在DMA通道是否发生了冲突。
|