AC’97ASIO
Native ASIO driver for AC'97 compatible Audio Controllers
(by Lex Nahumury)
Last updated  27 December 2009


Traditionally, onboard AC’97 sound devices in notebooks and desktops do not come with Native ASIO drivers.

What is Native ASIO?
These days there are two types of ASIO drivers available;
1. Native (WDM drivers like the ones that come with Pro-Audio cards)
2. Universal (Kernel Streamers like Asio4All and Asio2KS)

Native ASIO drivers are written specifically for a certain audio device and always come as a WDM/ASIO driver pair that consists of;
- a WDM kernel driver
- an ASIO user-mode DLL

Universal ASIO drivers like Asio4All and Asio2KS are not WDM drivers and are not written specifically for any device and consist only of an ASIO user-mode DLL and have to work “on top of” the WDM driver currently installed for your audio device.

This AC’97ASIO driver is a Native WDM/ASIO driver.
It is written specifically for AC’97 compatible controllers and will only work on those devices.

Hardware compatibility:
Theoretically the driver should work with all AC’97 compatible controllers and AC’97 compatible Codecs.
In practice however this is not the case due to hardware differences between the various AC’97 controller chips and codecs.
The only way to find out is to try it:)
You can use this utility to find out if you have AC’97 compatible hardware in your computer.
The driver should work with most AC’97 IntelŪ 82801xx Controllers;
 IntelŪ 82801AA Controller
 IntelŪ 82801AB Controller
 IntelŪ 82801BA/BAM Controller
 IntelŪ 82801CA/CAM Controller (EVO N610c)
 IntelŪ 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M)
 IntelŪ 82801EB/ER (ICH5/ICH5R)
 IntelŪ 82801FB/FBM/FR/FW/FRW (ICH6 Family)
 IntelŪ 6300ESB AC'97 Audio Controller
 IntelŪ 631xESB/632xESB
 IntelŪ 82801G (ICH7 Family)
 IntelŪ 82440MX
and with most AC’97 compatible Codecs from vendors like;
 Analog Devices,
 Sigmatel,
 Cirrus Logic,
 Winbond etc.

Notes:
-This driver will NOT work with the newer Intel HD Audio devices!
-Some multi-channel Codecs may not work properly

Supported OS/platform:
Win2000/Windows XP 32-bit x86

ASIO Performance
Depending on the usual external factors, I have achieved usable playback latencies as low as 1~2 msec using the better VST Hosts/Instruments like Kontakt, B4II, 4FrontTruePianos etc. Tested on;
- HP nx6110 Intel Centrino 800/1700mHz, 768mB
- Compaq N610c Intel P4m 800/1600mHz, 768mB

Software compatibility:

I have tested the driver successfully with software from Steinberg, Native Instruments and Standalones like
4FrontTruePianos etc.
The driver follows the Steinberg ASIO specification, unfortunately there is quite some software out there that don’t.
I can not test them all so feel free to let me know if you experience incompatibility issues with the software you use.

Reasons not to try/use this driver:
You don’t have an onboard AC’97 sound device
You don’t use ASIO.
You preffer to use one of the kernel streamers.
You don’t want to mess with your system.
You don’t know how to install a windows driver.

Reasons you might want to try this driver:

Basically, this driver is only interesting for people with older generation (pre-2005) notebooks who want to try to achieve the lowest possible ASIO latencies using their onboard AC’97 sound devices.

Disclaimer:

The Author, Lex Nahumury, expressly disclaims any warranty for this product, including all descriptions, documentation, and on-line documentation. This Software is provided 'AS IS' without warranty of any kind, including without limitation, any implied warranties of fitness for a particular purpose or result. You agree to assume the entire risk for any damage or result arising from its download, installation and use. In no event will the Author be liable to you for any incidental or consequential damages or losses whatsoever, including without limitation, damage to data, property or profits, arising from any use, or from any inability to use this Software.

Legal:
Although the driver package is provided free of charge, you may not sell nor redistribute any of the files in this driver package without permission of the copyright holder. The copyright holder of this package is the author Lex Nahumury.

Download:
By downloading any of the software below, you agree with the fore mentioned disclaimer;
ac97asio_v1.006_winxp32_x86.zip
AC'97 Detection Utility
 
History:
v1.006
- fixed: If ASIO client crashed, driver did
  not recover causing no sound system wide.
v1.005
- fixed ASIO Input channel routing.
- fixed ASIO wrong sample rate on multi-channel codecs
- fixed ASIO full-duplex sync issues on some machines
- changed ASIO latency settings
v1.004
- fixed bug in ASIO control panel
v1.003
- fixed an incompatibility issue with some ASIO hosts like BIAB.
v1.002
- initial release.

Known Bugs & Issues:
- unknown

Installation:
- Unpack the driver package to some directory like c:\drv
- Uninstall any previous audio driver so that you’ll end up  with a yellow question mark in the device manager or are prompted by the “New Hardware found” wizard.
- Now install the driver manually.
The WDM driver name will show up in the Device Manager as “AC’97 Audio Controller.
The ASIO driver name will show up as “AC’97 ASIO” in your ASIO applications.

Note: If Windows keeps installing it’s own driver for the device, remove c:\windows\inf\wdma_int.inf.

Feel free to report any bugs or issues.

Contact:
Lex Nahumury
nahumury.l@gmail.com



Credits:
Eugene Gavrilov (for providing invaluable advises)
Max Mikhailov
(for code portions in the detection utility)
Intel Corporation (for their hardware and documentation)
Microsoft Corporation (for their WindowsŪ Driver Development Kit and documentation)
Steinberg Media Technologies (for their ASIO Software Development Kit & ASIO specification)

ASIO is a trademark of
Steinberg Media Technologies GmbH.