适用于Windows 98SE / Me 的高清音频驱动程序
HD Audio Driver for Windows 98SE / Me

原始链接: https://github.com/andrew-hoffman/wdmhda

## Windows 98SE/ME 高清音频驱动 – 概要 该项目旨在为 Windows 98SE 和 ME 系统带来高清 (HD) 音频支持,特别是针对 Intel 915 及更新芯片组,*没有* AC97 音频的系统。 目前这是一个处于 Alpha 阶段的驱动程序,可在虚拟机 (VMware, VirtualBox) 以及部分 Intel/VIA 芯片组系统(使用瑞昱编解码器)上运行。 **重要限制:** 它仅*官方*支持 98SE/ME,Windows 98 第一版已知存在问题。 Windows 2000/XP 具有原生支持,不需要此驱动程序。 预计可能存在不稳定情况 – 音频失真、冻结或静音是常见问题。 **对于关键应用,强烈建议使用 USB 音频扩展坞。** 该驱动程序仅支持播放(不支持录音),限制为 22-48kHz 16 位音频,并且具有明显的延迟 (~40ms)。 它依赖于 BIOS 设置,并且缺乏对错误配置的覆盖。 开发正在进行中,重点是提高硬件兼容性(目前 Nvidia/AMD 和某些编解码器支持较差)。 调试信息和构建说明可在项目的 Github 页面上找到。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Windows 98SE / Me 高清音频驱动程序 (github.com/andrew-hoffman) 13 分,由 userbinator 发布 59 分钟前 | 隐藏 | 过去 | 收藏 | 1 条评论 帮助 dvrp 0 分钟前 [–] 正如怀疑的那样,这个项目部分归功于 LLM 模型。我一直在探索使用 LLM 进行 Gameboy Color 测试。老硬件因人工智能研究的最新进展而变得越来越有用,这真是具有讽刺意味。我想知道这会带来什么影响。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

HD Audio driver for Windows 98SE / ME

This project is a High Definition Audio aka Azalia codec and controller driver. It's for Intel 915 and later chipsets motherboard onboard audio that's not AC97.

It is designed for all versions of Windows with Windows Driver Model (WDM) support, but only Windows 98 SE and ME are officially supported currently.

Windows 98 First Edition may work but there are known issues with sample rate and but depth conversion not working, and because Microsoft doesn't recommend WDM audio drivers for this version it will be unsupported.

Windows 2000/XP have the oficial KB888111 HDA Bus driver update and don't need this project (it may function but it is not tested and not a priority).

Current status of this driver is an Alpha that functions in VMware and VirtualBox, and on many Intel & VIA chipset HD Audio controllers with Realtek codecs; further development and testing is needed to support more real hardware. Nvidia and AMD chipsets, and IDT, Analog Devices, Cirrus Logic and VIA codecs, are not well supported yet.

This driver is dependent on the BIOS Pin Configuration defaults for selecting a sensible combination of outputs and there are no overrides yet for buggy BIOSes. You may experience garbled or glitchy audio, possible horrible screeching and popping noises or static, or complete silence, as well as possible hard freezes when the driver is loaded or unloaded.

If you want to use this in some kind of business critical production application, I would highly recommend using a Sound Blaster Live, CMI8738 or any $2 USB Audio dongle instead. (Seriously, almost all of the cheapest USB Audio 1.0 class adapters work perfectly in 98se/Me.)

Windows 9x may need to be patched to function at all on modern hardware and > 512mb of RAM even when virtualized. For Intel 12th gen and newer this is Mandatory. See JHRobotics' Patcher9x project which now includes Sweetlow's patch for memory resource conflict issues. Or for a prepatched solution, try Windows 98 QuickInstall from Oerg866.

Install HDA.inf with Device Manager on the HD Audio Controller device which will be listed as a "PCI Card" with class code 0403 (you can run hwinfo /gui to see the vendor /device info on unknown devices). Select the location of the HDA.sys file when Windows asks you. The release build of the driver is in the buildfre\i386 folder, the debug build is in buildchk\i386.

For best results, go to the Multimedia control panel, Click the Advanced Properties button for the Playback device, go to the Performance tab and set Audio Acceleration to Standard (one notch to the left of Full) and Sample Rate Conversion Quality to Best (all the way to the right).

It is recommended but not strictly necessary to install DirectX 8.1 or newer after installing this driver.

  • Only supports 22-48khz 16-bit sample rate (up to 96khz 32-bit could technically be added but 9x doesn't make the best choices about resampling)
  • Playback only, recording is not supported
  • Single audio stream, no hardware mixing
  • Audio latency is ~40 ms at best. This is a kernel limit
  • Volume control is only implemented for the main mix output
  • Jack detection and retasking is not supported
  • Freezes, crashes, fails to start or outputs horrible noises on a lot of real hardware. No guarantees.

Source Code from Microsoft's driver samples

and BleskOS used under MIT license.

See also Dogbert's open source CMI driver.

For build instructions, see the file Build Instructions.txt

Testing and feedback from anyone who can run this on bare metal with a kernel debugger will be appreciated.

If the driver will not start for you or has other issues here's how you can get a debug log:

  • Find and install Sysinternals Debug View. I think a version that works on Win98 is here https://www.digiater.nl/openvms/decus/vmslt00a/nt/dbgview.htm
  • Install the debug version of my driver by using the HDA.sys which is in the objchk\i386 folder. you can just copy this into C:\Windows\System32\Drivers if the driver was already installed
  • Disable the HD audio controller device in Device Manager
  • Restart
  • Open DebugView
  • Enable the HD audio controller device
  • Watch the debug messages come in, they should explain why the driver is failing to start
  • Save the log file from Debug View and post it to an issue or discussion thread here.

Generative AI (Large Language Models) have been used for research and debugging help in the course of this project. Small amounts of boilerplate code have also been written by LLM (C++ class and interface definitions). I do not intend to make this a "Vibe Coded" project. Pull requests automatically generated by a LLM tool will not be accepted.

This software is supplied with NO WARRANTY, express or implied. See the MIT LICENSE file for more information. For support, please file an issue on Github or refer to the complaints department of the Sirius Cybernetics Corporation.

联系我们 contact @ memedata.com