252 lines
12 KiB
HTML
252 lines
12 KiB
HTML
|
<html xmlns:o="urn:schemas-microsoft-com:office:office"
|
|||
|
xmlns:w="urn:schemas-microsoft-com:office:word"
|
|||
|
xmlns="http://www.w3.org/TR/REC-html40">
|
|||
|
|
|||
|
<head>
|
|||
|
<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
|
|||
|
<meta name=ProgId content=FrontPage.Editor.Document>
|
|||
|
<meta name=Generator content="Microsoft FrontPage 5.0">
|
|||
|
<meta name=Originator content="Microsoft Word 10">
|
|||
|
<title>AC97</title>
|
|||
|
<!--[if gte mso 9]><xml>
|
|||
|
<w:WordDocument>
|
|||
|
<w:SpellingState>Clean</w:SpellingState>
|
|||
|
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
|
|||
|
</w:WordDocument>
|
|||
|
</xml><![endif]-->
|
|||
|
<style>
|
|||
|
<!--
|
|||
|
/* Font Definitions */
|
|||
|
@font-face
|
|||
|
{font-family:Verdana;
|
|||
|
panose-1:2 11 6 4 3 5 4 4 2 4;
|
|||
|
mso-font-charset:0;
|
|||
|
mso-generic-font-family:swiss;
|
|||
|
mso-font-pitch:variable;
|
|||
|
mso-font-signature:536871559 0 0 0 415 0;}
|
|||
|
@font-face
|
|||
|
{font-family:"MS Sans Serif";
|
|||
|
panose-1:0 0 0 0 0 0 0 0 0 0;
|
|||
|
mso-font-charset:0;
|
|||
|
mso-generic-font-family:swiss;
|
|||
|
mso-font-format:other;
|
|||
|
mso-font-pitch:variable;
|
|||
|
mso-font-signature:3 0 0 0 1 0;}
|
|||
|
/* Style Definitions */
|
|||
|
p.MsoNormal, li.MsoNormal, div.MsoNormal
|
|||
|
{mso-style-parent:"";
|
|||
|
margin-bottom:.0001pt;
|
|||
|
mso-pagination:widow-orphan;
|
|||
|
font-size:12.0pt;
|
|||
|
font-family:"Times New Roman";
|
|||
|
mso-fareast-font-family:"Times New Roman"; margin-left:0in; margin-right:0in; margin-top:0in}
|
|||
|
a:link, span.MsoHyperlink
|
|||
|
{color:blue;
|
|||
|
text-decoration:underline;
|
|||
|
text-underline:single;}
|
|||
|
a:visited, span.MsoHyperlinkFollowed
|
|||
|
{color:blue;
|
|||
|
text-decoration:underline;
|
|||
|
text-underline:single;}
|
|||
|
p
|
|||
|
{mso-margin-top-alt:auto;
|
|||
|
margin-right:0in;
|
|||
|
mso-margin-bottom-alt:auto;
|
|||
|
margin-left:0in;
|
|||
|
mso-pagination:widow-orphan;
|
|||
|
font-size:12.0pt;
|
|||
|
font-family:"Times New Roman";
|
|||
|
mso-fareast-font-family:"Times New Roman";}
|
|||
|
pre
|
|||
|
{margin:0in;
|
|||
|
margin-bottom:.0001pt;
|
|||
|
mso-pagination:widow-orphan;
|
|||
|
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;
|
|||
|
font-size:10.0pt;
|
|||
|
font-family:"Courier New";
|
|||
|
mso-fareast-font-family:"Courier New";}
|
|||
|
span.SpellE
|
|||
|
{mso-style-name:"";
|
|||
|
mso-spl-e:yes}
|
|||
|
@page Section1
|
|||
|
{size:8.5in 11.0in;
|
|||
|
margin:1.0in 1.25in 1.0in 1.25in;
|
|||
|
mso-header-margin:.5in;
|
|||
|
mso-footer-margin:.5in;
|
|||
|
mso-paper-source:0;}
|
|||
|
div.Section1
|
|||
|
{page:Section1;}
|
|||
|
-->
|
|||
|
</style>
|
|||
|
<!--[if gte mso 10]>
|
|||
|
<style>
|
|||
|
/* Style Definitions */
|
|||
|
table.MsoNormalTable
|
|||
|
{mso-style-name:"Table Normal";
|
|||
|
mso-tstyle-rowband-size:0;
|
|||
|
mso-tstyle-colband-size:0;
|
|||
|
mso-style-noshow:yes;
|
|||
|
mso-style-parent:"";
|
|||
|
mso-padding-alt:0in 5.4pt 0in 5.4pt;
|
|||
|
mso-para-margin:0in;
|
|||
|
mso-para-margin-bottom:.0001pt;
|
|||
|
mso-pagination:widow-orphan;
|
|||
|
font-size:10.0pt;
|
|||
|
font-family:"Times New Roman"}
|
|||
|
</style>
|
|||
|
<![endif]-->
|
|||
|
</head>
|
|||
|
|
|||
|
<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
|
|||
|
|
|||
|
<div class=Section1>
|
|||
|
|
|||
|
<h2><span style='font-family:Verdana'>AC97 WDM Audio Driver Sample<o:p></o:p></span></h2>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Arial;color:red'>[This is
|
|||
|
preliminary documentation and subject to change.]</span><span style='font-size:
|
|||
|
10.0pt;font-family:Verdana'><o:p></o:p></span></p>
|
|||
|
|
|||
|
<h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>This sample driver
|
|||
|
demonstrates the basics of writing a WDM audio driver. The sample driver should
|
|||
|
work with any AC97 codec connected to an Intel<65> motherboard with integrated
|
|||
|
AC97 controller, like the Intel 810 Chipset. The sample driver supports multi
|
|||
|
channel audio and builds a mixer topology depending on the AC97 codec in the
|
|||
|
system.<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>Its functionality may be
|
|||
|
expanded for non-AC97 design features or to convert the driver to use a
|
|||
|
different DMA engine. For more information, please see the "Driver
|
|||
|
Issues" section below. <o:p></o:p></span></p>
|
|||
|
|
|||
|
<h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>To build this sample,
|
|||
|
enter any Windows .NET or Windows XP build environment and run <b>build</b><b
|
|||
|
style='mso-bidi-font-weight:normal'> <20><span class=SpellE>cZ</span></b> from the
|
|||
|
AC97 directory (parent directory).</span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>The INF file named
|
|||
|
<EFBFBD>AC97smpl.inf<6E> included in the AC97 subdirectory (parent directory) can be used
|
|||
|
to install the sample driver after it has been built. Simply copy the INF and
|
|||
|
the driver binary to a floppy disk and then update the driver for the device
|
|||
|
with the one from the floppy. Note however, that the INF file tries to install
|
|||
|
the <span class=SpellE>proppage</span> sample and may want additional binaries.
|
|||
|
Please refer to the <20><span class=SpellE>readme</span><EFBFBD> in the parent directory
|
|||
|
for more information.<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>Once the driver has been
|
|||
|
installed with the INF, the driver may be updated by copying the binary into
|
|||
|
%SystemRoot%\System32\Drivers on the target machine and rebooting to test the
|
|||
|
new driver, provided that there are no INF changes.<o:p></o:p></span></p>
|
|||
|
|
|||
|
<h3><span style='font-family:Verdana'>DRIVER ISSUES<o:p></o:p></span></h3>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>1. At the time of
|
|||
|
writing, there is no AC97 implementation available for Alpha or IA64
|
|||
|
machines<EFBFBD>therefore, the DDK sample source does not install on Alpha or IA64 machines.
|
|||
|
<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>2. This driver supports
|
|||
|
the old Intel 810/820/840 implementation as well as the new Intel 815/820
|
|||
|
implementation (82801BA/BAM). This new chipset supports multi channel AC97 <span
|
|||
|
class=SpellE>codecs</span>, but the sample driver will only run satisfactorily
|
|||
|
with 100% AC97 compatible <span class=SpellE>codecs</span>. The double data
|
|||
|
rate playback (96KHz, for example) feature is unsupported by those chipsets and
|
|||
|
therefore also in the driver. <o:p></o:p></span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>3. The AC97 low-priority
|
|||
|
Microphone recording capability is disabled. You can record using Microphone as
|
|||
|
you would record from any other source (for example, a CD) using the normal
|
|||
|
recording selector, but the second recording line that is optionally defined in
|
|||
|
the AC97 specification is disabled. <o:p></o:p></span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>4. The AC97 inputs
|
|||
|
reported to the operating system may be disabled through the INF. The INF has a
|
|||
|
section where you can disable specific input lines of the codec that are not
|
|||
|
attached to any adapters. <o:p></o:p></span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>5. This driver works with
|
|||
|
Microsoft<EFBFBD> Windows<77> 2000 (or later) and Microsoft Windows 98 Second Edition (or
|
|||
|
later) only. It will neither run nor install on the original release of
|
|||
|
Microsoft Windows 98. <o:p></o:p></span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>6. Due to HW constrains
|
|||
|
in the Intel 440MX chipset, this driver cannot run reliably on this chipset.
|
|||
|
Therefore, please do not add PnP IDs that contain PCI\VEN_8086&DEV_7195.<o:p></o:p></span></p>
|
|||
|
|
|||
|
<h3><span lang=FR style='font-family:Verdana;mso-ansi-language:FR'>CODE TOUR<o:p></o:p></span></h3>
|
|||
|
|
|||
|
<h4><span lang=FR style='font-family:Verdana;mso-ansi-language:FR'>File
|
|||
|
Manifest<o:p></o:p></span></h4>
|
|||
|
|
|||
|
<pre><u><span lang=FR style='mso-ansi-language:FR'>File<span style='mso-tab-count:
|
|||
|
2'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Description<o:p></o:p></span></u></pre><pre><span lang=FR
|
|||
|
style='mso-ansi-language:FR'><o:p> </o:p></span></pre><pre>Ac97reg.h<span style='mso-spacerun:yes'><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Definition of the AC97 registers</pre><pre>Ac97smpl.inf<span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Setup information</pre><pre>Ac97smpl.rc <span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Resource file containing version information</pre><pre><span
|
|||
|
class=SpellE>Adapter.cpp</span> <span style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>Connects driver with the system</pre><pre><span
|
|||
|
class=SpellE>Adapter.h</span><span style='mso-spacerun:yes'><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Header file for <span class=SpellE>adapter.cpp</span></pre><pre><span
|
|||
|
class=SpellE>Common.cpp</span><span style='mso-spacerun:yes'><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Common object used by all <span class=SpellE>miniports</span></pre><pre><span
|
|||
|
class=SpellE>Common.h</span><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Header file for the common object</pre><pre><span
|
|||
|
class=SpellE>Debug.h</span><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Debug output support</pre><pre><span
|
|||
|
class=SpellE>Guids.h</span><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Private <span class=SpellE>GUIDs</span> used by the driver (like name definitions)</pre><pre><span
|
|||
|
class=SpellE>Ichreg.h</span><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Defines the registers of the INTEL AC97 interface (ICH)</pre><pre><span
|
|||
|
class=SpellE>Ichwave.cpp</span> <span style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>Implementation of the stream object (DMA programming)</pre><pre><span
|
|||
|
class=SpellE>Ichwave.h</span><span style='mso-spacerun:yes'><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Header file for the stream object</pre><pre><span
|
|||
|
class=SpellE>Makefile</span><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Standard Windows NT <span class=SpellE>makefile</span></pre><pre><span
|
|||
|
class=SpellE>Mintopo.cpp</span> <span style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>Implementation of the topology miniport</pre><pre><span
|
|||
|
class=SpellE>Mintopo.h</span><span style='mso-spacerun:yes'><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Header file for the topology miniport</pre><pre><span
|
|||
|
class=SpellE>Minwave.cpp</span> <span style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>Implementation of the wave PCI miniport</pre><pre><span
|
|||
|
class=SpellE>Minwave.h</span><span style='mso-spacerun:yes'><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Header file for the wave PCI miniport</pre><pre><span
|
|||
|
class=SpellE>Prophnd.cpp</span> <span style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>Implementation of the property handler (part of the topology miniport)</pre><pre>Readme.htm<span style='mso-spacerun:yes'><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Documentation for this sample (this file)</pre><pre><span
|
|||
|
class=SpellE>Shared.h</span><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Header file shared by every C++ source file</pre><pre>Sources<span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span><span
|
|||
|
style='mso-tab-count:1'><3E><> </span>Dependency information for compiling</pre><pre><o:p> </o:p></pre>
|
|||
|
|
|||
|
<p align=center style='margin:0in;margin-bottom:.0001pt;text-align:center;
|
|||
|
tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
|
|||
|
style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Courier New"'><a
|
|||
|
href="#top"><span style='font-family:Verdana'>Top of page</span></a></span><span
|
|||
|
style='font-size:10.0pt;font-family:Verdana;mso-fareast-font-family:"Courier New";
|
|||
|
mso-bidi-font-family:"Courier New"'> <o:p></o:p></span></p>
|
|||
|
|
|||
|
<pre><o:p> </o:p></pre>
|
|||
|
|
|||
|
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=624
|
|||
|
style='width:6.5in;mso-cellspacing:0in;mso-padding-alt:0in 0in 0in 0in'>
|
|||
|
<tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:1.5pt'>
|
|||
|
<td style='background:aqua;padding:.75pt .75pt .75pt .75pt;height:1.5pt'>
|
|||
|
<p class=MsoNormal><o:p> </o:p></p>
|
|||
|
</td>
|
|||
|
</tr>
|
|||
|
</table>
|
|||
|
|
|||
|
<pre><o:p> </o:p></pre><pre><o:p> </o:p></pre>
|
|||
|
|
|||
|
<p style='margin:0in;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span
|
|||
|
style='font-size:7.5pt;font-family:"MS Sans Serif";mso-fareast-font-family:
|
|||
|
"Courier New";mso-bidi-font-family:"Courier New"'><3E> Microsoft Corporation 1999</span><span
|
|||
|
style='font-size:10.0pt;font-family:Verdana;mso-fareast-font-family:"Courier New";
|
|||
|
mso-bidi-font-family:"Courier New"'> <o:p></o:p></span></p>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
</body>
|
|||
|
|
|||
|
</html>
|