;;*****************************************************************************
;;*****************************************************************************
;;
;; nvmcp.inf
;;
;;
;; Copyright (c) 2000-2002 NVIDIA Corporation.
;;
;;*****************************************************************************
;;*****************************************************************************



[Version]
Signature="$CHICAGO$"
Class=Media
ClassGUID={4D36E96C-E325-11CE-BFC1-08002BE10318}
provider=%MfgName%
;LayoutFile=layout.inf, layout1.inf, layout2.inf
DriverVer=10/03/2002,5.10.2883.0
CatalogFile=nvmcp.cat

[SourceDisksNames]
1=%DiskDescription%,,,""

[SourceDisksFiles]
nvapu.sys=1,,
nvmcp.sys=1,,
nvarm.sys=1,,
nvack.dll=1,,
nvax9x.sys=1,,
nvmpu401.sys=1,,
nvasio.dll=1,,
nvopenal.dll=1,,
OpenAL32.dll=1,,
ALut.dll=1,,

[SourceDisksFiles.x86]
nvapu.sys=1,,
nvmcp.sys=1,,
nvarm.sys=1,,
nvack.dll=1,,
nvax.sys=1,,
nvmpu401.sys=1,,
nvasio.dll=1,,
nvopenal.dll=1,,
OpenAL32.dll=1,,
ALut.dll=1,,

[Manufacturer]
%MfgName%=NVIDIA

[NVIDIA]
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_838410DE
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_414410DE
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_414c10DE
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_83841043
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_414c1043
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_80951043
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_81A01033
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_7105147B
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_7104147B
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_35301462
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_36701462
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_37301462
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_20061631
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_00A80E11
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_5920107D
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_1A193411
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_8131104D
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_536111D4
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_01B1&SUBSYS_02831014
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_0c1110DE
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_0c111043
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_81A01033
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_7105147B
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_7104147B
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_35301462
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_36701462
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_37301462
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_5920107D
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_1A193411
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_8131104D
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_02831014
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_01B0&SUBSYS_05B110DE
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_414410DE
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_02831014
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_59701462
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_57001462
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_80951043
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_02E0A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_02E4A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_02E8A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_02EDA0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_02F3A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_02F9A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_02FFA0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_0304A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_1c00147b
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_1c01147b
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_F440147b
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_5930107D
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_10001695
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_F440270F
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_F464270F
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_F466270F
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_82001565
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_904D1509
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_F5411297
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_80951043
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_5930107D
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_57001462
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_10001695
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_82001565
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_904D1509
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006A&SUBSYS_f5411297
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_006B&SUBSYS_05B210DE
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_006B&SUBSYS_02831014
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_006B&SUBSYS_59701462
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_006B&SUBSYS_57001462
%nvmcp.DeviceDesc%=nvmcp, PCI\VEN_10DE&DEV_006B&SUBSYS_0C1110DE
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_02E0A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_02E4A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_02E8A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_02EDA0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_02F3A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_02F9A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_02FFA0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_0304A0A0
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_1c00147b
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_1c01147b
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_F440147b
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_5930107D
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_10001695
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_F440270F
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_F464270F
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_F466270F
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_82001565
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_904D1509
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_F5411297
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_80951043
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_5930107D
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_57001462
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_10001695
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_82001565
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_904D1509
%nvaci.DeviceDesc%=nvaci, PCI\VEN_10DE&DEV_006B&SUBSYS_f5411297
%nvnforce.DeviceDesc%=nvnforce, *NFORCE
%nvnforce.DeviceDesc%=nvnforce, NVAX\*NFORCE
;;%nvmpu.DeviceDesc%=nvmpu, *PNPB006

;; Excluding drivers from the "Add New Hardware" list.
[ControlFlags]
ExcludeFromSelect=*

[DestinationDirs]
DefaultDestDir=10,system32\drivers
nvaci.FileList=10,system32\drivers
nvax.FileList=10,system32\drivers
nvax9x.FileList=10,system32\drivers
nvmpu.FileList=10,system32\drivers
nvnforce.FileList=11

[nvax9x.FileList]
nvax9x.sys

[nvax.FileList]
nvax.sys

[nvaci.FileList]
nvarm.sys
nvmcp.sys
nvapu.sys

[nvnforce.FileList]
nvack.dll
nvasio.dll
nvopenal.dll
OpenAL32.dll
ALut.dll

[nvmpu.FileList]
nvmpu401.sys

;;*****************************************************************************
;; nvaci 9x
;;*****************************************************************************
[nvaci]
CopyFiles=nvax9x.FileList,nvaci.FileList,nvnforce.FileList
AlsoInstall=KS.Registration(ks.inf),WDMAUDIO.Registration(wdmaudio.inf)
AddReg=nvaci.AddReg

[nvaci.AddReg]
HKR,,NTMPDriver,,nvax9x.sys
HKR,,DevLoader,,"*ntkern"

[nvaci.Services]
AddService = nvax, 0x00000002, nvax9x.ServiceInstall


;;*****************************************************************************
;; nvaci NT
;;*****************************************************************************
[nvaci.NT]
CopyFiles=nvax.FileList,nvaci.FileList,nvnforce.FileList
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration,WDMAUDIO.Registration

[nvaci.NT.Services]
AddService = nvax, 0x00000002, nvax.ServiceInstall


;;*****************************************************************************
;; nvmcp 9x
;;*****************************************************************************
[nvmcp]
CopyFiles=nvax9x.FileList,nvaci.FileList,nvnforce.FileList
AddReg=nvmcp.AddReg,ChangePath

[nvmcp.AddReg]
HKR,,NTMPDriver,,nvax9x.sys
HKR,,DevLoader,,"*ntkern"

[nvmcp.Services]
AddService = nvax, 0x00000002, nvax9x.ServiceInstall

[ChangePath]
; this section does nothing but it is needed to set the nvmcp path

;;*****************************************************************************
;; nvmcp NT
;;*****************************************************************************
[nvmcp.NT]
CopyFiles=nvax.FileList,nvaci.FileList,nvnforce.FileList
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration,WDMAUDIO.Registration
AddReg=nvmcp.AddReg,ChangePath


[nvmcp.NT.Services]
AddService = nvax, 0x00000002, nvax.ServiceInstall


;;*****************************************************************************
;; nvax9x Common
;;*****************************************************************************
[nvax9x.ServiceInstall]
DisplayName   = %nvax.SvcDesc%
ServiceType   = 1                  ; SERVICE_KERNEL_DRIVER
StartType     = 3                  ; SERVICE_DEMAND_START
ErrorControl  = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\system32\drivers\nvax9x.sys


;;*****************************************************************************
;; nvax Common
;;*****************************************************************************
[nvax.ServiceInstall]
DisplayName   = %nvax.SvcDesc%
ServiceType   = 1                  ; SERVICE_KERNEL_DRIVER
StartType     = 3                  ; SERVICE_DEMAND_START
ErrorControl  = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\system32\drivers\nvax.sys




;;*****************************************************************************
;; nvnforce Win9x
;;*****************************************************************************
[nvnforce]
AddReg=nvnforce.AddReg,Win98G.Guids.AddReg,nvguid.AddReg,nvac97.AddReg,nvmixer.AddReg

[nvnforce.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%NVNFORCE_Wave%,nvnforce.Wave
AddInterface=%KSCATEGORY_RENDER%,%NVNFORCE_Wave%,nvnforce.Wave
AddInterface=%KSCATEGORY_CAPTURE%,%NVNFORCE_Wave%,nvnforce.Wave
AddInterface=%KSCATEGORY_AUDIO%,%NVNFORCE_DMus%,nvnforce.DMus
AddInterface=%KSCATEGORY_RENDER%,%NVNFORCE_DMus%,nvnforce.DMus
AddInterface=%KSCATEGORY_SYNTHESIZER%,%NVNFORCE_DMus%,nvnforce.DMus
AddInterface=%KSCATEGORY_AUDIO%,%NVAC97_Topology%,nvac97.Topology
AddInterface=%KSCATEGORY_AUDIO%,%NVNFORCE_Midi%,nvnforce.Midi
AddInterface=%KSCATEGORY_RENDER%,%NVNFORCE_Midi%,nvnforce.Midi

[nvnforce.Services]
AddService = nvnforce, 0x00000002, nvnforce.ServiceInstall


;;*****************************************************************************
;; nvnforce NT
;;*****************************************************************************
[nvnforce.NT]
AddReg=nvnforce.AddReg,nvac97.AddReg,nvguid.AddReg,forNT.AddReg,nvmixer.AddReg
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration,WDMAUDIO.Registration

[nvnforce.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%NVNFORCE_Wave%,nvnforce.Wave
AddInterface=%KSCATEGORY_RENDER%,%NVNFORCE_Wave%,nvnforce.Wave
AddInterface=%KSCATEGORY_CAPTURE%,%NVNFORCE_Wave%,nvnforce.Wave
AddInterface=%KSCATEGORY_AUDIO%,%NVNFORCE_DMus%,nvnforce.DMus
AddInterface=%KSCATEGORY_RENDER%,%NVNFORCE_DMus%,nvnforce.DMus
AddInterface=%KSCATEGORY_SYNTHESIZER%,%NVNFORCE_DMus%,nvnforce.DMus
AddInterface=%KSCATEGORY_AUDIO%,%NVAC97_Topology%,nvac97.Topology
AddInterface=%KSCATEGORY_AUDIO%,%NVNFORCE_Midi%,nvnforce.Midi
AddInterface=%KSCATEGORY_RENDER%,%NVNFORCE_Midi%,nvnforce.Midi

[nvnforce.NT.Services]
AddService = nvnforce, 0x00000002, nvnforce.ServiceInstall

[forNT.AddReg]
HKLM,%RunOnce%,"nForce",,"rundll32.exe nvack.dll,nForceIsKing"


;;*****************************************************************************
;; nvnforce Common
;;*****************************************************************************
[nvnforce.AddReg]
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,nvapu.sys
HKR,,NTMPDriver,,"nvapu.sys,sbemul.sys"
HKR,,DevLoader,,"*ntkern,mmdevldr.vxd"

HKR,Branding,icon,,"nvapu.sys,100"
HKR,Branding,bitmap,,"nvapu.sys,101"
HKR,Branding,url,,"http://www.nvidia.com"

HKR,Drivers,SubClasses,,"wave,midi,mixer"
HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\midi\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\wave\wdmaud.drv,Description,,%nvnforce.DeviceDesc%
HKR,Drivers\midi\wdmaud.drv,Description,,%nvnforce.DeviceDesc%
HKR,Drivers\mixer\wdmaud.drv,Description,,%nvnforce.DeviceDesc%

;; Nvasio Portion
HKCR,CLSID\%NVASIO_GUID%,,,%NVASIO_DESC%
HKCR,CLSID\%NVASIO_GUID%\InprocServer32,,,"nvasio.dll"
HKCR,CLSID\%NVASIO_GUID%\InprocServer32,ThreadingModel,,"Apartment"

HKLM,"SOFTWARE\ASIO\%NVASIO_NAME%",CLSID,,%NVASIO_GUID%
HKLM,"SOFTWARE\ASIO\%NVASIO_NAME%",Description,,%NVASIO_DESC%

;; APU Options
HKR,Settings\APU,Center3dPanEnabled,1,01,00,00,00
;HKR,Settings\APU\GlobalVolume,CreateCenter,0x10001,01
;HKR,Settings\APU\GlobalVolume,CreateLfe,0x10001,01
;HKR,Settings\APU\GlobalVolume,CreatePhantomBass,0x10001,01
HKR,Settings\APU\GlobalVolume,LfeCrossover,0x10001,64
;HKR,Settings\APU\GlobalVolume,SpeakerPhase,0x10001,01

[nvnforce.Wave]
AddReg=nvnforce.Wave.AddReg

[nvnforce.Wave.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%nvnforce.WaveDesc%


[nvnforce.DMus]
AddReg=nvnforce.DMus.AddReg

[nvnforce.DMus.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%nvnforce.DMusDesc%


[nvac97.Topology]
AddReg=nvac97.Topo.AddReg

[nvac97.Topo.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%nvac97.TopoDesc%


[nvnforce.Midi]
AddReg=nvnforce.Midi.AddReg

[nvnforce.Midi.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%nvnforce.MidiDesc%


[nvnforce.ServiceInstall]
DisplayName   = %nvnforce.SvcDesc%
ServiceType   = 1                  ; SERVICE_KERNEL_DRIVER
StartType     = 3                  ; SERVICE_DEMAND_START
ErrorControl  = 1                  ; SERVICE_ERROR_NORMAL
ServiceBinary = %10%\system32\drivers\nvapu.sys



;;*****************************************************************************
;; nvmpu 9x
;;*****************************************************************************
[nvmpu]
CopyFiles=nvmpu.FileList
AlsoInstall=KS.Registration(ks.inf),WDMAUDIO.Registration(wdmaudio.inf)
AddReg=nvmpu.AddReg

[nvmpu.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_UART%,WDM.Interface.UART

[nvmpu.Services]
AddService=nvmpu401,0x00000002, nvmpu401.ServiceInstall


;;*****************************************************************************
;; nvmpu NT
;;*****************************************************************************
[nvmpu.NT]
CopyFiles=nvmpu.FileList
Include=ks.inf,wdmaudio.inf
Needs=KS.Registration,WDMAUDIO.Registration
AddReg=nvmpu.AddReg

[nvmpu.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_UART%,WDM.Interface.UART

[nvmpu.NT.Services]
AddService=nvmpu401,0x00000002, nvmpu401.ServiceInstall


;;*****************************************************************************
;; nvmpu Common
;;*****************************************************************************
[nvmpu.AddReg]
HKR,,AssociatedFilters,,"wdmaud"
HKR,,Driver,,nvmpu401.sys
HKR,,NTMPDriver,,nvmpu401.sys
HKR,,DevLoader,,"*ntkern,mmdevldr.vxd"

HKR,Drivers,SubClasses,,"midi"
HKR,Drivers\midi\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\midi\wdmaud.drv,Description,,%nvmpu.DeviceDesc%


[WDM.Interface.UART]
AddReg=WDM.Interface.UART.AddReg

[WDM.Interface.UART.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%nvmpu.MidiDesc%

[nvmpu401.ServiceInstall]
DisplayName=%nvmpu.SvcDesc%
ServiceType=1                ; SERVICE_KERNEL_DRIVER
StartType=3                  ; SERVICE_DEMAND_START
ErrorControl=1               ; SERVICE_ERROR_NORMAL
ServiceBinary=%10%\system32\drivers\nvmpu401.sys


;;*****************************************************************************
;; AC97 Register Defaults
;;*****************************************************************************
[nvac97.AddReg]
;HKR,Settings\Ac97,MasterVolume,1,00,00      ; 0 dB
;HKR,Settings\Ac97,SurroundVolume,1,00,00    ; 0 dB
;HKR,Settings\Ac97,CenterLfeVolume,1,00,00   ; 0 dB
;HKR,Settings\Ac97,HeadphoneVolume,1,00,00   ; 0 dB
;HKR,Settings\Ac97,MonoOutVolume,1,00,00     ; 0 dB
;HKR,Settings\Ac97,3dCtrl,1,00,00            ; 0%
;HKR,Settings\Ac97,ToneControls,1,0F,0F      ; Bypass Treble and Bass
;HKR,Settings\Ac97,PcBeepVolume,1,00,00      ; 0 dB
;HKR,Settings\Ac97,PhoneVolume,1,08,80       ; Muted, 0 dB
;HKR,Settings\Ac97,MicVolume,1,08,80         ; Muted, 0 dB, +20 dB Off
;HKR,Settings\Ac97,LineInVolume,1,08,08      ; Unmuted, 0 dB
;HKR,Settings\Ac97,CdVolume,1,08,08          ; 0 dB
;HKR,Settings\Ac97,VideoVolume,1,08,88       ; Muted, 0 dB
;HKR,Settings\Ac97,AuxVolume,1,08,88         ; Muted, 0 dB
;HKR,Settings\Ac97,WaveOutVolume,1,08,08     ; 0 dB - Never touched by the system.
;HKR,Settings\Ac97,RecordSelect,1,00,00      ; Select Mic
;HKR,Settings\Ac97,RecordGain,1,00,00        ; 0 dB
;HKR,Settings\Ac97,RecordGainMic,1,00,00     ; 0 dB
;HKR,Settings\Ac97,GeneralPurpose,1,00,00    ; Wave path = Pre-3D,
                                             ; Simultated Stereo = Off, 3D = Off,
                                             ; Loudness = Off, Mono Select = Mix,
                                             ; Mic Select = Mic1


;;*****************************************************************************
;; Mixer Controls
;;*****************************************************************************
[nvmixer.AddReg]
;HKR,Settings\MixerControls,DisableMasterAdvancedControls,1,01,00,00,00
;HKR,Settings\MixerControls,DisableLineOut,1,01,00,00,00
;HKR,Settings\MixerControls,DisableHeadphone,1,01,00,00,00
HKR,Settings\MixerControls,DisablePcBeep,1,01,00,00,00
;HKR,Settings\MixerControls,DisablePhone,1,01,00,00,00
;HKR,Settings\MixerControls,DisablePhoneRecord,1,01,00,00,00
;HKR,Settings\MixerControls,DisableMic,1,01,00,00,00
;HKR,Settings\MixerControls,DisableMicBoost,1,01,00,00,00
;HKR,Settings\MixerControls,DisableMicSelect,1,01,00,00,00
;HKR,Settings\MixerControls,DisableLineIn,1,01,00,00,00
;HKR,Settings\MixerControls,DisableCd,1,01,00,00,00
;HKR,Settings\MixerControls,DisableVideo,1,01,00,00,00
;HKR,Settings\MixerControls,DisableAux,1,01,00,00,00

;HKR,Settings\MixerControls,DisableRecordStereoMix,1,01,00,00,00
;HKR,Settings\MixerControls,DisableRecordMonoMix,1,01,00,00,00

HKR,Settings\MixerControls,DisableDigitizedInputPanel,1,00,00,00,00
;HKR,Settings\MixerControls,DisableDigitizedInput,1,01,00,00,00
;HKR,Settings\MixerControls,DigitizedInputSelect,1,04,00,00,00

HKR,Settings\MixerControls,DisableMonoOutPanel,1,01,00,00,00



;;*****************************************************************************
;; Guids for Win98G
;;*****************************************************************************
[Win98G.Guids.AddReg]
; Pins
HKLM,%MediaCategories%\%msguid.MonoOut%,Name,2,%mspin.MonoOut%
HKLM,%MediaCategories%\%msguid.MonoOut%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%msguid.StereoMix%,Name,2,%mspin.StereoMix%
HKLM,%MediaCategories%\%msguid.StereoMix%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%msguid.MonoMix%,Name,2,%mspin.MonoMix%
HKLM,%MediaCategories%\%msguid.MonoMix%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%msguid.Video%,Name,2,%mspin.Video%
HKLM,%MediaCategories%\%msguid.Video%,Display,3,00,00,00,00

; Nodes
HKLM,%MediaCategories%\%msguid.MonoOutVolume%,Name,2,%msnode.MonoOutVolume%
HKLM,%MediaCategories%\%msguid.MonoOutVolume%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%msguid.MonoOutMute%,Name,2,%msnode.MonoOutMute%
HKLM,%MediaCategories%\%msguid.MonoOutMute%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%msguid.StereoMixVolume%,Name,2,%msnode.StereoMixVolume%
HKLM,%MediaCategories%\%msguid.StereoMixVolume%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%msguid.MonoMixVolume%,Name,2,%msnode.MonoMixVolume%
HKLM,%MediaCategories%\%msguid.MonoMixVolume%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%msguid.MicBoost%,Name,2,%msnode.MicBoost%
HKLM,%MediaCategories%\%msguid.MicBoost%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%msguid.AltMic%,Name,2,%msnode.AltMic%
HKLM,%MediaCategories%\%msguid.AltMic%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%msguid.VideoVolume%,Name,2,%msnode.VideoVolume%
HKLM,%MediaCategories%\%msguid.VideoVolume%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%msguid.VideoMute%,Name,2,%msnode.VideoMute%
HKLM,%MediaCategories%\%msguid.VideoMute%,Display,3,00,00,00,00



;;*****************************************************************************
;; NVIDIA Guids
;;*****************************************************************************
[nvguid.AddReg]
HKLM,%MediaCategories%\%nvguid.WaveOutDac%,Name,0,%nvnode.WaveOutDac%
HKLM,%MediaCategories%\%nvguid.WaveOutDac%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.WaveInAdc%,Name,0,%nvnode.WaveInAdc%
HKLM,%MediaCategories%\%nvguid.WaveInAdc%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.MicInAdc%,Name,0,%nvnode.MicInAdc%
HKLM,%MediaCategories%\%nvguid.MicInAdc%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.AnalogOutMix%,Name,0,%nvnode.AnalogOutMix%
HKLM,%MediaCategories%\%nvguid.AnalogOutMix%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.AnalogInSelect%,Name,0,%nvnode.AnalogInSelect%
HKLM,%MediaCategories%\%nvguid.AnalogInSelect%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.MonoOutSelect%,Name,0,%nvnode.MonoOutSelect%
HKLM,%MediaCategories%\%nvguid.MonoOutSelect%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.NvFx%,Name,0,%nvnode.NvFx%
HKLM,%MediaCategories%\%nvguid.NvFx%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.DigitalEncoder%,Name,0,%nvnode.DigitalEncoder%
HKLM,%MediaCategories%\%nvguid.DigitalEncoder%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.Spdif%,Name,0,%nvspecifier.Spdif%
HKLM,%MediaCategories%\%nvguid.Spdif%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.DigitizedInput%,Name,0,%nvpin.DigitizedInput%
HKLM,%MediaCategories%\%nvguid.DigitizedInput%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.LineOut%,Name,0,%nvpin.LineOut%
HKLM,%MediaCategories%\%nvguid.LineOut%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.BalanceFade%,Name,0,%nvpin.BalanceFade%
HKLM,%MediaCategories%\%nvguid.BalanceFade%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.LineInToRear%,Name,0,%nvnode.LineInToRear%
HKLM,%MediaCategories%\%nvguid.LineInToRear%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.MicToCenterLFE%,Name,0,%nvnode.MicToCenterLFE%
HKLM,%MediaCategories%\%nvguid.MicToCenterLFE%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.SwapCenterLFE%,Name,0,%nvnode.SwapCenterLFE%
HKLM,%MediaCategories%\%nvguid.SwapCenterLFE%,Display,3,00,00,00,00
HKLM,%MediaCategories%\%nvguid.Phone%,Name,0,%nvnode.Phone%
HKLM,%MediaCategories%\%nvguid.Phone%,Display,3,00,00,00,00



;;*****************************************************************************
;; Strings
;;*****************************************************************************
[Strings]
MfgName="NVIDIA Corporation"
DiskDescription="NVIDIA(R) nForce(TM) Audio Driver CD or Disk"

nvax.SvcDesc="Service for NVIDIA(R) nForce(TM) Audio Enumerator"
nvnforce.SvcDesc = "Service for NVIDIA(R) nForce(TM) Audio"
nvmpu.SvcDesc="Service for NVIDIA(R) nForce(TM) MIDI UART"

nvaci.DeviceDesc="NVIDIA(R) nForce(TM) Audio Codec Interface"
nvmcp.DeviceDesc="NVIDIA(R) nForce(TM) MCP Audio Processing Unit (Dolby(R) Digital)"
nvnforce.DeviceDesc="NVIDIA(R) nForce(TM) Audio"
nvmpu.DeviceDesc="NVIDIA(R) nForce(TM) MIDI UART"

nvnforce.WaveDesc="NVIDIA(R) nForce(TM) Audio"
nvnforce.DMusDesc="NVIDIA(R) Kernel Synthesizer"
nvac97.TopoDesc="NVIDIA(R) nForce(TM) Mixer"
nvnforce.MidiDesc="NVIDIA(R) DLS Synthesizer"
nvmpu.MidiDesc="NVIDIA(R) MIDI UART"

RunOnce = "SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"
MediaCategories="SYSTEM\CurrentControlSet\Control\MediaCategories"

Proxy.CLSID="{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
KSCATEGORY_AUDIO="{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_RENDER="{65E8773E-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CAPTURE="{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_SYNTHESIZER="{DFF220F3-F70F-11D0-B917-00A0C9223196}"

NVNFORCE_Wave="wave"
NVNFORCE_DMus="synth"
NVAC97_Topology="topology"
NVNFORCE_Midi="midi"
KSNAME_UART="Uart"

; Pins not added by Win98G
msguid.MonoMix          ="{00DFF078-96E3-11d2-AC4C-00C04F8EFB68}"
msguid.MonoOut          ="{F9B41DC3-96E2-11d2-AC4C-00C04F8EFB68}"
msguid.StereoMix        ="{00DFF077-96E3-11d2-AC4C-00C04F8EFB68}"
msguid.Video            ="{915DAEC4-A434-11d2-AC52-00C04F8EFB68}"

; Nodes not added by Win98G
msguid.AltMic           ="{2BC31D6B-96E3-11d2-AC4C-00C04F8EFB68}"
msguid.MicBoost         ="{2BC31D6A-96E3-11d2-AC4C-00C04F8EFB68}"
msguid.MonoMixVolume    ="{22B0EAFE-96E3-11d2-AC4C-00C04F8EFB68}"
msguid.MonoOutMute      ="{1AD247EC-96E3-11d2-AC4C-00C04F8EFB68}"
msguid.MonoOutVolume    ="{1AD247EB-96E3-11d2-AC4C-00C04F8EFB68}"
msguid.StereoMixVolume  ="{1AD247ED-96E3-11d2-AC4C-00C04F8EFB68}"
msguid.VideoVolume      ="{9B46E708-992A-11d2-AC4D-00C04F8EFB68}"
msguid.VideoMute        ="{9B46E709-992A-11d2-AC4D-00C04F8EFB68}"

; NVIDIA Guids
nvguid.WaveOutDac       ="{8ED18ED2-BFDA-4380-9507-2B645DBD104D}"
nvguid.WaveInAdc        ="{FA1D33B3-CC27-4817-B40C-4260E47E7E88}"
nvguid.MicInAdc         ="{CC3A55E2-3A97-4e01-91FC-1FDAA7D6F5F7}"
nvguid.AnalogOutMix     ="{D0BC69E2-339F-429d-8C01-CAD64AD4928C}"
nvguid.AnalogInSelect   ="{32AFD44E-892D-48de-AAD3-2C8C3A086CCC}"
nvguid.MonoOutSelect    ="{A94AB2C4-1F9C-4b03-9D0F-05D092F93578}"
nvguid.NvFx             ="{8633AF14-ECFF-4320-A962-8E6C2B522B9D}"
nvguid.DigitalEncoder   ="{5CE2E43A-804F-47f2-8738-16D638E2E0F4}"
nvguid.Spdif            ="{CD1DFDA7-0E7C-4724-9248-F6E03C8AC522}"
nvguid.DigitizedInput   ="{E963DE7F-BA10-4819-A7E0-DBC560BC1E2E}"
nvguid.LineOut          ="{79F2DAFE-59E5-4543-B419-DB395BADF698}"
nvguid.BalanceFade      ="{252BA1C4-D29D-4CC4-80A3-03BC6F812091}"
nvguid.LineInToRear     ="{3D0DE891-1B84-4304-9E38-19D30B8BFB9C}"
nvguid.MicToCenterLFE   ="{F9E11089-C93A-4B3F-832B-B37F76E547F3}"
nvguid.SwapCenterLFE    ="{73674D8A-74AE-412B-A4DF-D909291A4B43}"
nvguid.Phone            ="{A6036A62-D93A-43E9-A103-259E10A14C1A}"

; ASIO Guids and Names
NVASIO_GUID="{594C9953-1AB0-4459-877A-102DB82CBE39}"
NVASIO_DESC="NVIDIA ASIO"
NVASIO_NAME="NVIDIA ASIO Driver"

; Pin strings not added by Win98G
mspin.MonoMix           ="Mono Mix"
mspin.MonoOut           ="Mono Out"
mspin.StereoMix         ="Stereo Mix"
mspin.Video             ="Video"

; NVIDIA Pins
nvpin.DigitizedInput    ="Digitized Input"
nvpin.LineOut           ="Line Out"
nvpin.BalanceFade       ="Balance/Fade"

; Node strings not added by Win98G
msnode.AltMic           ="Alternate Microphone"
msnode.MicBoost         ="Microphone Boost"
msnode.MonoMixVolume    ="Mono Mix Volume"
msnode.MonoOutVolume    ="Mono Out Volume"
msnode.MonoOutMute      ="Mono Out Mute"
msnode.StereoMixVolume  ="Stereo Mix Volume"
msnode.VideoVolume      ="Video Volume"
msnode.VideoMute        ="Video Mute"

; NVIDIA Nodes
nvnode.WaveOutDac       ="Wave Out DAC"
nvnode.WaveInAdc        ="Wave In ADC"
nvnode.MicInAdc         ="Mic In ADC"
nvnode.AnalogOutMix     ="Analog Out Mix"
nvnode.AnalogInSelect   ="Analog In Mux"
nvnode.MonoOutSelect    ="Mono Out Mux"
nvnode.NvFx             ="NVIDIAŽ FX"
nvnode.DigitalEncoder   ="Digital Encoder"
nvnode.LineInToRear     ="Rear Speakers connected to Line In"
nvnode.MicToCenterLFE   ="Center speaker and subwoofer connected to Microphone"
nvnode.SwapCenterLFE    ="Swap center and subwoofer speaker outputs"
nvnode.Phone            ="Phone"

; NVIDIA Specifiers
nvspecifier.Spdif       ="SPDIF"

