;==============================================================================
; TerraTec Cinergy 250 PCI
; BDA 32-bit Driver Install Script
; Copyright (c) 2004-05, TerraTec Electronic GmbH
;------------------------------------------------------------------------------
; History:
;------------------------------------------------------------------------------
; 16-Sep-04 FMB 1st version
; 24-Sep-04 FMB changed name from "Cinergy 250 TV" to "Cinergy 250 PCI"
; 13-Dec-04 FMB v.1.3.2.0
; 21-Dec-04 FMB v.1.3.2.2
; 10-Jan-05 FMB v.1.3.2.2 - generalized INF file layout
; 13-Apr-05 FMB v.1.3.2.2 - added option for forced hardware configuration
; 09-May-05 FMB v.1.3.2.0 - added KW driver (modified for IR)
; 24-May-05 FMB v.1.3.2.0 - added registry entry for GPIO config
; 16-Jun-05 FMB v.1.3.2.0 - minor internal strings changes
;------------------------------------------------------------------------------

[Version]
Signature   ="$CHICAGO$"
Class       =Media
ClassGUID   ={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider    =%TerraTec%
DriverVer   =06/16/2005,1.3.2.0
CatalogFile =Cinergy_250_PCI_BDA.cat

[Manufacturer]
%TerraTec%=TerraTec

[TerraTec]																								
; Cinergy 250 PCI (SAA7134)
%Cinergy.DeviceDesc%=3xHybrid,PCI\VEN_1131&DEV_7134&SUBSYS_1160153B

; Cinergy 250 PCI (SAA7135)
%Cinergy.DeviceDesc%=3xHybrid,PCI\VEN_1131&DEV_7133&SUBSYS_1160153B


[DestinationDirs]
3xHybrid.CopyCoInst=11
3xHybrid.CopyFiles=10,system32\drivers ; be aware not to use 12 as the drivers directory, 
                                       ; as driver will not work anymore in W98

[SourceDisksNames]
1 = %DiskName%,,

[SourceDisksFiles]
34CoInstaller.dll=1
3xHybrid.sys=1

[3xHybrid.CopyCoInst]
34CoInstaller.dll

[3xHybrid.CopyFiles]
3xHybrid.sys

;
;*** initialization and registry entries
;

[3xHybrid.CoInstallers]
CopyFiles = 3xHybrid.CopyCoInst
AddReg = 3xHybrid.CoInstaller_AddReg

[3xHybrid.ntx86.CoInstallers]
CopyFiles = 3xHybrid.CopyCoInst
AddReg = 3xHybrid.CoInstaller_AddReg

[3xHybrid.CoInstaller_AddReg]
HKR,,CoInstallers32,0x00010000,"34CoInstaller.dll, CoInstallerEntry"

[3xHybrid]
AlsoInstall=KS.Registration(ks.inf), WDMAUDIO.Registration(wdmaudio.inf), KSCAPTUR.Registration(kscaptur.inf), BDA.Installation(bda.inf)
CopyFiles=3xHybrid.CopyFiles
AddReg=3xHybrid.AddReg

[3xHybrid.ntx86]
Include=ks.inf, wdmaudio.inf, kscaptur.inf, bda.inf
Needs=KS.Registration.NT, WDMAUDIO.Registration.NT, KSCAPTUR.Registration.NT, BDA.Installation.NT
CopyFiles=3xHybrid.CopyFiles

;##### FMB NOTE: Use the section [ForceHWConfig.AddReg] for boards w/o or with incorrect EEPROM settings
;AddReg=3xHybrid.AddReg, ForceHWConfig.AddReg
AddReg=3xHybrid.AddReg


[3xHybrid.Services]
AddService=3xHybrid, 0x00000002, 3xHybrid.ServiceInstall

[3xHybrid.ntx86.Services]
AddService=3xHybrid, 0x00000002, 3xHybrid.ServiceInstall

[3xHybrid.ServiceInstall]
DisplayName  =%DISPLAY_NAME%
Description  =%SERVICE_DESCRIPTION%
ServiceType  =%SERVICE_KERNEL_DRIVER%
StartType    =%SERVICE_DEMAND_START%
ErrorControl =%SERVICE_ERROR_IGNORE%
ServiceBinary=%12%\3xHybrid.sys

; [StartName=driver-object-name]
; [AddReg=add-registry-section[, add-registry-section] ...]
; [DelReg=del-registry-section[, del-registry-section] ...]
; [BitReg=bit-registry-section[,bit-registry-section] ...]
; [LoadOrderGroup=load-order-group-name]
; [Dependencies=depend-on-item-name[,depend-on-item-name]...]

[3xHybrid.AddReg]
HKR,,DevLoader,,*NTKERN
HKR,,NTMPDriver,,3xHybrid.sys

;##### FMB NOTE: disable the audio driver section to avoid confusion with audio pin and device
;##### FMB NOTE: enable the audio driver section to let other applications handle audio
;-------------------------------------------------------------
; audio capture registry entries
;-------------------------------------------------------------
HKR,,AssociatedFilters,,"wdmaud,swmidi,redbook"
HKR,,Driver,,3xHybrid.sys
HKR,Drivers,SubClasses,,"wave,mixer"
HKR,Drivers\wave\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\mixer\wdmaud.drv,Driver,,wdmaud.drv
HKR,Drivers\wave\wdmaud.drv,Description,,%Cinergy.Wave%
HKR,Drivers\mixer\wdmaud.drv,Description,,%Cinergy.Wave%
;-------------------------------------------------------------


;-------------------------------------------------------------
; Customization
;-------------------------------------------------------------

; Setting FM radio of the Silicon tuner via SIF (GPIO 21 in use/ 5.5MHz)
HKR, "Audio", "FM Radio IF",0x00010001,0x729555

; Enable MCE 
;HKR, "Parameters", "MCE",0x00010001,0x01

; Set prefix for DShow filter names
;##### FMB NOTE: For using the EEPROM and URD tools this line must be commented out
HKR, "Parameters", "Prefix",,%Cinergy.Prefix%



;-------------------------------------------------------------
; Pin names
;-------------------------------------------------------------
; add audio input and output pinnames
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%VAMP_ANLG_AUDIO_IN_PIN% ,"Name",,"Analog Audio Input"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%VAMP_ANLG_AUDIO_OUT_PIN%,"Name",,"Audio"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%VAMP_ANLG_VIDEO_ITU_PIN%,"Name",,"Analog ITU Video"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%VAMP_ANLG_AUDIO_I2S_PIN%,"Name",,"I2S Audio"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%VAMP_MPEG_AES_PIN%      ,"Name",,"MPEG Audio ES"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%VAMP_MPEG_VES_PIN%      ,"Name",,"MPEG Video ES"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%VAMP_MPEG_PS_PIN%       ,"Name",,"MPEG2 Program"


[ForceHWConfig.AddReg]
HKR, "I2C Devices", "Force Registry Settings",0x00010001,1

HKR, "AudioDecoder", "Tuner Channel"   ,0x00010001,1
HKR, "AudioDecoder", "CVBS Channel"    ,0x00010001,3
HKR, "AudioDecoder", "SVHS Channel"    ,0x00010001,3
HKR, "AudioDecoder", "FM Radio Channel",0x00010001,1

; maps user setting to hardware video input
HKR, "VideoDecoder", "Tuner Channel"   ,0x00010001,1
HKR, "VideoDecoder", "CVBS Channel"    ,0x00010001,3
HKR, "VideoDecoder", "SVHS Channel"    ,0x00010001,8
HKR, "VideoDecoder", "FM Radio Channel",0x00010001,1

; Set GPIOs to output, required for TV/Radio switching
HKR, "GPIO", "Config", 0x00010001, 0xffffffff

; I2C Device settings
HKR, "I2C Devices", "Number of I2C Devices",0x00010001,1

; FMB NOTE: old prototype with TDA8275
;HKR, "I2C Devices", "Device 0, Data1",0x00010001,0x14,0x00,0x00,0x00              ; Tuner ID

; FMB NOTE: new prototype with TDA8275A
HKR, "I2C Devices", "Device 0, Data1",0x00010001,0x22,0x00,0x00,0x00               ; Tuner ID

HKR, "I2C Devices", "Device 0, Data3",0x00010001,0x96,0x00,0x00,0x00               ; Tuner IF PLL slave addr.
HKR, "I2C Devices", "Device 0, Data4",0x00010001,0x00,0x00,0x00,0x00               ; I2C address of 2nd device
HKR, "I2C Devices", "Device 0, Data5",0x00010001,0x01,0x00,0x00,0x00               ; Number of additional bytes
HKR, "I2C Devices", "Device 0, Data6",0x00010001,0x30,0x00,0x00,0x00               ; FM radio mode.




;===============================================================
;                S t r i n g s
;===============================================================

[Strings]

;---------------------------------------------------------------
; Non-Localizable (Windows)
;---------------------------------------------------------------

FLG_REGSVR_DLLREGISTER = 0x00000001
REG_EXPAND_SZ          = 0x00020000
REG_DWORD              = 0x00010001

; Service loader
SERVICE_BOOT_START     = 0x0 
SERVICE_SYSTEM_START   = 0x1 
SERVICE_AUTO_START     = 0x2 
SERVICE_DEMAND_START   = 0x3 
SERVICE_DISABLED       = 0x4 

SERVICE_KERNEL_DRIVER  = 0x1 

SERVICE_ERROR_IGNORE   = 0x0 
SERVICE_ERROR_NORMAL   = 0x1 
SERVICE_ERROR_SEVERE   = 0x2
SERVICE_ERROR_CRITICAL = 0x3 

; Device manager classes
DEVCLASS_MEDIA     = "{4d36e96c-e325-11ce-bfc1-08002be10318}"
DEVCLASS_IMAGE     = "{6bdd1fc6-810f-11d0-bec7-08002be2092f}"

; Proxies                     
PROXY_CAPTURE      = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
PROXY_CROSSBAR     = "{71F96460-78F3-11D0-A18C-00A0C9118956}"
PROXY_TVAUDIO      = "{71F96462-78F3-11D0-A18C-00A0C9118956}"
PROXY_TVTUNER      = "{266EEE40-6C63-11CF-8A03-00AA006ECB65}"

; WDM filter categories
KSCATEGORY_AUDIO   = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_VIDEO   = "{6994AD05-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_CAPTURE = "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_CROSSBAR= "{a799a801-A46D-11D0-A18C-00a02401dcd4}"
KSCATEGORY_TVAUDIO = "{a799a802-A46D-11D0-A18C-00a02401dcd4}"
KSCATEGORY_TVTUNER = "{a799a800-A46D-11D0-A18C-00a02401dcd4}"
KSCATEGORY_VBICODEC= "{07dad660-22f1-11D1-a9f4-00c04fbbde8f}"

; BDA filter categories
;##### FMB NOTE: defined in <ddk>\inc\wxp\bdamedia.h
KSCATEGORY_BDARECEIVER   = "{FD0A5AF4-B41D-11d2-9C95-00C04F7971E0}"
KSCATEGORY_BDATUNER      = "{71985F48-1CA1-11d3-9CC8-00C04F7971E0}"

;---------------------------------------------------------------
; Non-Localizable (This driver)
;---------------------------------------------------------------
; Our Pin Name GUIDs

VAMP_ANLG_AUDIO_IN_PIN   = "{7BB284B9-714D-493d-A101-B1B028E782BD}"
VAMP_ANLG_AUDIO_OUT_PIN  = "{5582E657-E596-42b5-9DB3-541B27A2355F}"
VAMP_ANLG_AUDIO_I2S_PIN  = "{C2E46358-F032-4d88-B802-06B59D162730}"
VAMP_ANLG_VIDEO_ITU_PIN  = "{82631A2E-403C-4581-A4B0-EC173D004410}"

VAMP_MPEG_AES_PIN        = "{9DEC84B9-BCEF-4aac-997E-43EDD0A2D6C7}"
VAMP_MPEG_VES_PIN        = "{181CF87E-7741-47ba-8629-22347E03C64C}"
VAMP_MPEG_PS_PIN         = "{DDA87B83-65DB-4aec-82D0-79FBE67D2BB6}"

; Our Filter GUIDs

VAMP_ANLG_AUDIO_FILTER   = "{F3B951E7-8619-4ff3-91CA-03910E4BB900}"
VAMP_ANLG_CAP_FILTER     = "{BBEFB6C7-2FC4-4139-BB8B-A58BBA724000}"


;---------------------------------------------------------------
; Localizable
;---------------------------------------------------------------

TerraTec            = "TerraTec "
DiskName            = "Cinergy Driver CD"

; Service strings
DISPLAY_NAME        = "TerraTec BDA capture service"
SERVICE_DESCRIPTION = "TerraTec BDA capture driver"

Cinergy.DeviceDesc  = "Cinergy 250 PCI Capture" ; Device Manager strings
Cinergy.Prefix      = "Cinergy 250 PCI"         ; DirectShow filter names (prefix only)
Cinergy.Wave        = "Cinergy 250 PCI Audio"   ; Audio device name
