Magic-Pro.inf Driver File Contents (TwinTVExp_Drv.zip)

;------------------------------------------------------------------------------
;
; Ngene WDM / BDA Driver Installation Script
; Copyright (c) 2004, Micronas GmbH
; 
;
;$Id: MicNgene.inf,v 1.107 2005/08/12 14:16:21 voelkel Exp $
;------------------------------------------------------------------------------
[Version]
Signature=$Windows NT$
Class=MEDIA
ClassGUID={4d36e96c-e325-11ce-bfc1-08002be10318}
Provider=%MFGNAME%
DriverVer=08/03/2005,1.0.2.0236
CatalogFile=Micngene.cat

[Manufacturer]
%MFGNAME%=Micronas

[ControlFlags]
ExcludeFromSelect=*

[DestinationDirs]
Ngene.CopyFiles=10,System32\Drivers

[SourceDisksNames]
1=%INSTDISK%,NgeneDriver,,

[SourceDisksFiles]
MicNgBas.sys = 1
MicNgCap.sys = 1
MicNgTun.sys = 1
MicNgSrm.sys = 1

[Micronas]

; Base device

;------------------------------------------------------------------------------

%BASE_XCEIVE_XC2028%=MicNgBas,PCI\VEN_18C3&DEV_0720&SUBSYS_E00018C3
%BASE_XCEIVE_XC2028%=MicNgBas,PCI\VEN_18C3&DEV_0720&SUBSYS_E00118C3

%BASE_APPBOARD_DRXD%=MicNgBasDrxd,PCI\VEN_18C3&DEV_0720

;------------------------------------------------------------------------------
; Capture device

%CAPTURE_XCEIVE_XC2028_50_FP%=MicNgCapXC50FP,Ngene\VEN_18C3&DEV_0720&SUBSYS_E00018C3&Capture
%CAPTURE_XCEIVE_XC2028_60_FP%=MicNgCapXC60FP,Ngene\VEN_18C3&DEV_0720&SUBSYS_E00118C3&Capture

; Fall back to compatible install
%CAPTURE_APPBOARD_50%=MicNgCap50BDA,Ngene\VEN_18C3&DEV_0720&Capture

;------------------------------------------------------------------------------
; Tuner device


%TUNER_XCEIVE_XC2028%=MicNgTunXC,Ngene\VEN_18C3&DEV_0720&SUBSYS_E00018C3&Tuner
%TUNER_XCEIVE_XC2028%=MicNgTunXC,Ngene\VEN_18C3&DEV_0720&SUBSYS_E00118C3&Tuner

; Old board ids
%TUNER_APPBOARD_DVBT%=MicNgTunDVBT,Ngene\VEN_18C3&DEV_0720&SUBSYS_072018C3&Tuner

; Fall back to compatible install
%TUNER_APPBOARD_DVBT%=MicNgTunDVBT,Ngene\VEN_18C3&DEV_0720&Tuner

;------------------------------------------------------------------------------
; Remote device
%REMOTE_APPBOARD%=MicNgSrm,Ngene\VEN_18C3&DEV_0720&Remote

;------------------------------------------------------------------------------
;  Base driver sections (Windows XP)
;------------------------------------------------------------------------------

[MicNgBas.NT]
Include=ks.inf, kscaptur.inf, bda.inf
Needs=KS.Registration.NT,KSCAPTUR.Registration.NT, BDA.Registration.NT,bda.Installation.NT,bdacap.Installation.NT
CopyFiles=Ngene.CopyFiles

[MicNgBas.NT.HW]
AddReg=MicNgBas.NT.HW.AddReg

[Ngene.CopyFiles]
MicNgBas.sys,,,2
MicNgCap.sys,,,2
MicNgTun.sys,,,2
MicNgSrm.sys,,,2

[MicNgBas.NT.Services]
AddService=MicNgBas,0x00000002,MicNgBas.Service

[MicNgBasDrxd.NT.Services]
AddService=MicNgBas,0x00000002,MicNgBas.Service

[MicNgBasDrxh.NT.Services]
AddService=MicNgBas,0x00000002,MicNgBas.Service

[MicNgBas.Service]
DisplayName=%MicNgBas.ServiceDesc%
ServiceType    = 1   ; SERVICE_KERNEL_DRIVER
StartType      = 3   ; SERVICE_DEMAND_START
ErrorControl   = 1   ; SERVICE_ERROR_NORMAL
ServiceBinary=%12%\MicNgBas.sys

[MicNgBas.NT.HW.AddReg]
;HKR,,"TestDevice",1,01        ; Create PDO for test device
HKR,,"RemoteDevice",1,01        ; Create PDO for simple remote device
; HKR,,"EncoderDevice",1,01        ; Create PDO for MPEG Encoder device
; HKR,,"ITUFeatureDecoder",1,00 00 00 00 00 00 00 00 
; HKR,,"ITUDecoder",1,1c 13 01 68 3d 90 14 20 00 00 01 b0 9c 00 00 00

[MicNgBas.Drxd.AddReg]
HKR,,"TSFeatureDecoder",1,42,00,00,02,02,BC,00,00 

[MicNgBas.Drxh.AddReg]
HKR,,"TSFeatureDecoder",1,40,06,00,02,02,BC,00,00 

;------------------------------------------------------------------------------
;  Capture driver sections (Windows XP)
;------------------------------------------------------------------------------

[MicNgCap50.NT]
AddReg=MicNgCap50.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar_COMP_SPDIF.AddReg

[MicNgCap60.NT]
AddReg=MicNgCap60.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar_COMP_SPDIF.AddReg

[MicNgCap50FP.NT]
AddReg=MicNgCap50FP.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar_FP_COMP_SPDIF.AddReg

[MicNgCap60FP.NT]
AddReg=MicNgCap60FP.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar_FP_COMP_SPDIF.AddReg

[MicNgCap50BDA.NT]
AddReg=MicNgCap50BDA.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar_COMP_SPDIF.AddReg

[MicNgCap60BDA.NT]
AddReg=MicNgCap60BDA.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar_COMP_SPDIF.AddReg

[MicNgCapATSC.NT]
AddReg=MicNgCapATSC.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar_COMP_SPDIF.AddReg

[MicNgCapXC50.NT]
AddReg=MicNgCap50.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar.AddReg

[MicNgCapXC60.NT]
AddReg=MicNgCap60.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar.AddReg

[MicNgCapXC50FP.NT]
AddReg=MicNgCap50.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar_FP.AddReg

[MicNgCapXC60FP.NT]
AddReg=MicNgCap60.NT.AddReg,MicNgCap.NT.AddReg,MicNg_CrossBar_FP.AddReg

[MicNgCap50.NT.Services]
AddService=MicNgCap,0x00000002,MicNgCap.Service

[MicNgCap60.NT.Services]
AddService=MicNgCap,0x00000002,MicNgCap.Service

[MicNgCap50FP.NT.Services]
AddService=MicNgCap,0x00000002,MicNgCap.Service

[MicNgCap60FP.NT.Services]
AddService=MicNgCap,0x00000002,MicNgCap.Service

[MicNgCap50BDA.NT.Services]
AddService=MicNgCap,0x00000002,MicNgCap.Service

[MicNgCapXC50.NT.Services]
AddService=MicNgCap,0x00000002,MicNgCap.Service

[MicNgCapXC60.NT.Services]
AddService=MicNgCap,0x00000002,MicNgCap.Service

[MicNgCapXC50FP.NT.Services]
AddService=MicNgCap,0x00000002,MicNgCap.Service

[MicNgCapXC60FP.NT.Services]
AddService=MicNgCap,0x00000002,MicNgCap.Service

[MicNgCap.Service]
DisplayName=%MicNgCap.ServiceDesc%
ServiceType    = 1   ; SERVICE_KERNEL_DRIVER
StartType      = 3   ; SERVICE_DEMAND_START
ErrorControl   = 1   ; SERVICE_ERROR_NORMAL
ServiceBinary=%12%\MicNgCap.sys

; ----------------------------------------------------------------------------
; Capture configuration
; Config\
;  VideoStandard : Default video standard
;           one of the %KS_AnalogVideo_XXX% values
;
;    HKR,"Config","VBIMode",%REG_DWORD%,0xNNNNNNNN
;    HKR,"Config","StandardsSupported",%REG_DWORD%,0xNNNNNNNN
;    
;  VBIMode
;      Bit 0 :  Use Closed Caption polling via i2c (implies bit 1 and 2 also)
;      Bit 1 :  Use Hardware VBI slicer
;      Bit 2 :  VBI Data will be supplied from other source
;               (i.e. extracted from mpeg data stream, requires custom
;               extension of driver)
;      default: 0x00000000
;               
;  StandardsSupported
;        Any combinations of KS_AnalogVideo_XXX values (see inf file)
;        Most common values:
;            0x00000A07  All 60 Hz Standards
;            0x00000003  Common NTSC Standards (US/Japan)
;            0x00000001  US only NTSC
;            0x001FF5F0  All 50 Hz Standards
;            0x001005F0  All 50 Hz PAL Standards
;            0x000FF000  All SECAM Standards 
;            0x0013F5F0  All 50 Hz Standards but SECAM L/L'
;
;  Filter :   bit 0 = Analog Capture 1
;                 1 = Analog Capture 2
;                 2 = Digital Capture 1
;                 3 = Digital Capture 2
;              4-31 = reserved, set to 0
;
;  Decoder1,Decoder2 : Video/Audio Decoder configuration
;           byte 0 : Decoder type
;           byte 1 : Video Decoder i2c address
;           byte 2 : Audio Decoder i2c address
;           byte 3 : Type of i2c gate (default = 0)
;           byte 4..11 : Parameters to i2c gate
;
;       Tuner types :  0 = Micronas AVF4910A
;
;       I2c Gate : 0 = none
;                  1 = unused
;                  2 = via ngene gpio pin
;                      byte 4 : pin nbr (0-4), high opens the gate.
;                  8 = via IO Expander high active
;                      byte 4 : expander i2c address 
;                      byte 5 : bit mask
;                  9 = via IO Expander low active
;                      byte 4 : expander i2c address 
;                      byte 5 : bit mask
;       I2c Gate bit 7 = 1 : use global mutex. 
;       Type 8,9 assume a switch instead of a gate, it will not switched back
;       on release to reduce i2c traffic.
;
;  CrossBar,CrossBar1,CrossBar2 : Crossbar configuration
;           byte 0 : Number of input pins
;           byte 1 : default video input pin (normally tuner)
;           byte 2 : default audio input pin (normally tuner)
;           byte 3 : reserved (set to 0)
;       For each pin follow four bytes :
;           byte n+0 : Pin type
;                        0 : Video Tuner
;                        1 : Video Composite
;                        2 : Video SVideo
;                        3 : Video Component (YCrCb,YRYBY)
;                        4 : Audio Tuner
;                        5 : Audio Line in
;                        6 : Audio SPDIF
;           byte n+1 : Input selection
;                      Video pins:
;                         bit 0..3 : Video input (1 = VIN1 .. 4 = VIN4)
;                         bit 4..7 : Chroma input for SVideo (1 = CIN1, 2 = CIN2)
;                      Audio pins:
;                         0 = SIF (Tuner) input
;                         1..4 : Line input (1 = SC1 .. 4 = SC4)
;                         (not used for SPDIF, set to 0)
;           byte n+2 : related audio/video input pin
;           byte n+3 : reserved (set to 0)


[MicNgCap50.NT.AddReg]
HKR,"Config","VideoStandard",%REG_DWORD%,%KS_AnalogVideo_PAL_B%
HKR,"Config","Filter",%REG_DWORD%,0x00000003
HKR,"Config","Decoder1",1,00,86,80
HKR,"Config","Decoder2",1,00,8E,84

[MicNgCap60.NT.AddReg]
HKR,"Config","VideoStandard",%REG_DWORD%,%KS_AnalogVideo_NTSC_M%
HKR,"Config","Filter",%REG_DWORD%,0x00000003
HKR,"Config","Decoder1",1,00,86,80
HKR,"Config","Decoder2",1,00,8E,84

[MicNgCap50BDA.NT.AddReg]
HKR,"Config","VideoStandard",%REG_DWORD%,%KS_AnalogVideo_PAL_B%
HKR,"Config","Filter",%REG_DWORD%,0x0000000F
HKR,"Config","Decoder1",1,00,86,80
HKR,"Config","Decoder2",1,00,8E,84

[MicNgCap50FP.NT.AddReg]
HKR,"Config","VideoStandard",%REG_DWORD%,%KS_AnalogVideo_PAL_B%
HKR,"Config","Filter",%REG_DWORD%,0x00000003
HKR,"Config","Decoder1",1,00,86,80
HKR,"Config","Decoder2",1,00,8E,84

[MicNgCap60FP.NT.AddReg]
HKR,"Config","VideoStandard",%REG_DWORD%,%KS_AnalogVideo_NTSC_M%
HKR,"Config","Filter",%REG_DWORD%,0x00000003
HKR,"Config","Decoder1",1,00,86,80
HKR,"Config","Decoder2",1,00,8E,84

[MicNg_CrossBar_FP.AddReg]
HKR,"Config","CrossBar",1, 05,02,04,00,\
                           01,01,03,00,\
                           02,01,03,00,\
                           00,04,04,00,\
                           05,01,FF,00,\
                           04,00,00,00


;HKR,"Config","CrossBar",1, 06,03,05,00,\
;                           01,01,04,00,\
;                           02,13,04,00,\
;                           03,01,04,00,\
;                           00,04,05,00,\
;                           05,01,FF,00,\
;                           04,00,03,00

[MicNg_CrossBar.AddReg]
HKR,"Config","CrossBar",1, 05,02,04,00,\
                           01,01,03,00,\
                           02,21,03,00,\
                           00,04,04,00,\
                           05,01,FF,00,\
                           04,00,00,00

[MicNg_CrossBar_COMP_SPDIF.AddReg]
HKR,"Config","CrossBar",1, 07,03,06,00,\
                           01,01,04,00,\
                           02,21,04,00,\
                           03,01,04,00,\
                           00,04,06,00,\
                           05,01,FF,00,\
                           06,00,FF,00,\
                           04,00,00,00
                     
[MicNg_CrossBar_FP_COMP_SPDIF.AddReg]
HKR,"Config","CrossBar",1, 0A,05,09,00,\
                           01,02,06,00,\
                           02,13,06,00,\
                           01,01,07,00,\
                           02,21,07,00,\
                           03,01,07,00,\
                           00,04,09,00,\
                           05,02,FF,00,\
                           05,01,FF,00,\
                           06,00,FF,00,\
                           04,00,00,00

[MicNgCap.NT.AddReg]
;  Pin names
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%NgeneCaptureAnalogAudioInputName%,"Name",,"Analog Audio Input"
HKLM,SYSTEM\CurrentControlSet\Control\MediaCategories\%NgeneCaptureAnalogAudioOutputName%,"Name",,"Audio Capture"

[MicNgCap50.NT.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter1%, Ngene.TvAudio.Filter1
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter2%, Ngene.TvAudio.Filter2
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter1%, Ngene.CrossBar.Filter1
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter2%, Ngene.CrossBar.Filter2

[MicNgCap60.NT.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter1%, Ngene.TvAudio.Filter1
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter2%, Ngene.TvAudio.Filter2
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter1%, Ngene.CrossBar.Filter1
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter2%, Ngene.CrossBar.Filter2

[MicNgCap50FP.NT.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter1%, Ngene.TvAudio.Filter1
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter2%, Ngene.TvAudio.Filter2
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter1%, Ngene.CrossBar.Filter1
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter2%, Ngene.CrossBar.Filter2

[MicNgCap60FP.NT.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter1%, Ngene.TvAudio.Filter1
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter2%, Ngene.TvAudio.Filter2
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter1%, Ngene.CrossBar.Filter1
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter2%, Ngene.CrossBar.Filter2

[MicNgCap50BDA.NT.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_BDA_RECEIVER_COMPONENT%, %KSSTRING_Ngene_DigitalCaptureFilter1%, Ngene.DigitalCapture.Filter1
AddInterface = %KSCATEGORY_BDA_RECEIVER_COMPONENT%, %KSSTRING_Ngene_DigitalCaptureFilter2%, Ngene.DigitalCapture.Filter2
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter1%, Ngene.TvAudio.Filter1
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter2%, Ngene.TvAudio.Filter2
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter1%, Ngene.CrossBar.Filter1
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter2%, Ngene.CrossBar.Filter2

[MicNgCapXC50FP.NT.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter1%, Ngene.TvAudio.Filter1
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter2%, Ngene.TvAudio.Filter2
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter1%, Ngene.CrossBar.Filter1
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter2%, Ngene.CrossBar.Filter2

[MicNgCapXC60FP.NT.Interfaces]
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_CAPTURE%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter1%, Ngene.AnalogCapture.Filter1
AddInterface = %KSCATEGORY_VIDEO%, %KSSTRING_Ngene_AnalogCaptureFilter2%, Ngene.AnalogCapture.Filter2
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter1%, Ngene.TvAudio.Filter1
AddInterface = %KSCATEGORY_TVAUDIO%, %KSSTRING_Ngene_TvAudioFilter2%, Ngene.TvAudio.Filter2
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter1%, Ngene.CrossBar.Filter1
AddInterface = %KSCATEGORY_CROSSBAR%, %KSSTRING_Ngene_CrossBarFilter2%, Ngene.CrossBar.Filter2

[Ngene.TvAudio.Filter1]
AddReg=Ngene.TvAudio.Filter1.AddReg

[Ngene.TvAudio.Filter1.AddReg]
HKR,,CLSID,,%TvAudio.CLSID%
HKR,,FriendlyName,,%Ngene.TvAudio.Filter1Desc%

[Ngene.TvAudio.Filter2]
AddReg=Ngene.TvAudio.Filter2.AddReg

[Ngene.TvAudio.Filter2.AddReg]
HKR,,CLSID,,%TvAudio.CLSID%
HKR,,FriendlyName,,%Ngene.TvAudio.Filter2Desc%

[Ngene.CrossBar.Filter1]
AddReg=Ngene.CrossBar.Filter1.AddReg

[Ngene.CrossBar.Filter1.AddReg]
HKR,,CLSID,,%CrossBar.CLSID%
HKR,,FriendlyName,,%Ngene.CrossBar.Filter1Desc%

[Ngene.CrossBar.Filter2]
AddReg=Ngene.CrossBar.Filter2.AddReg

[Ngene.CrossBar.Filter2.AddReg]
HKR,,CLSID,,%CrossBar.CLSID%
HKR,,FriendlyName,,%Ngene.CrossBar.Filter2Desc%

[Ngene.AnalogCapture.Filter1]
AddReg=Ngene.AnalogCapture.Filter1.AddReg

[Ngene.AnalogCapture.Filter1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.AnalogCapture.Filter1Desc%

[Ngene.AnalogCapture.Filter2]
AddReg=Ngene.AnalogCapture.Filter2.AddReg

[Ngene.AnalogCapture.Filter2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.AnalogCapture.Filter2Desc%

[Ngene.DigitalCapture.Filter1]
AddReg=Ngene.DigitalCapture.Filter1.AddReg

[Ngene.DigitalCapture.Filter1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.DigitalCapture.Filter1Desc%

[Ngene.DigitalCapture.Filter2]
AddReg=Ngene.DigitalCapture.Filter2.AddReg

[Ngene.DigitalCapture.Filter2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.DigitalCapture.Filter2Desc%

;------------------------------------------------------------------------------
;  Tuner driver sections (Windows XP)
;------------------------------------------------------------------------------

[MicNgTun.NT]
AddReg=MicNgTun.AddReg

[MicNgTun.NT.Services]
AddService=MicNgTun,0x00000002,MicNgTun.Service

[MicNgTunApp.NT]
AddReg=MicNgTunApp.AddReg

[MicNgTunApp.NT.Services]
AddService=MicNgTun,0x00000002,MicNgTun.Service

[MicNgTunDVBT.NT]
AddReg=MicNgTunDVBT.AddReg

[MicNgTunDVBT.NT.Services]
AddService=MicNgTun,0x00000002,MicNgTun.Service

[MicNgTunXC.NT]
AddReg=MicNgTunXC.AddReg

[MicNgTunXC.NT.Services]
AddService=MicNgTun,0x00000002,MicNgTun.Service

[MicNgTun.Service]
DisplayName=%MicNgTun.ServiceDesc%
ServiceType    = 1   ; SERVICE_KERNEL_DRIVER
StartType      = 3   ; SERVICE_DEMAND_START
ErrorControl   = 1   ; SERVICE_ERROR_NORMAL
ServiceBinary=%12%\MicNgTun.sys
; LoadOrderGroup=ExtendedBase

[MicNgTun.NT.Interfaces]
AddInterface = %KSCATEGORY_TVTUNER%, %KSSTRING_Ngene_TvTunerFilter1%, Ngene.AnalogTuner.Filter1
AddInterface = %KSCATEGORY_TVTUNER%, %KSSTRING_Ngene_TvTunerFilter2%, Ngene.AnalogTuner.Filter2

[MicNgTunApp.NT.Interfaces]
AddInterface = %KSCATEGORY_TVTUNER%, %KSSTRING_Ngene_TvTunerFilter1%, Ngene.AnalogTuner.Filter1
AddInterface = %KSCATEGORY_TVTUNER%, %KSSTRING_Ngene_TvTunerFilter2%, Ngene.AnalogTuner.Filter2

[MicNgTunDVBT.NT.Interfaces]
AddInterface = %KSCATEGORY_TVTUNER%, %KSSTRING_Ngene_TvTunerFilter1%, Ngene.AnalogTuner.Filter1
AddInterface = %KSCATEGORY_TVTUNER%, %KSSTRING_Ngene_TvTunerFilter2%, Ngene.AnalogTuner.Filter2
AddInterface = %KSCATEGORY_BDA_NETWORK_TUNER%, %KSSTRING_Ngene_BdaDVBTTunerFilter1%, Ngene.DVBTTuner.Filter1
AddInterface = %KSCATEGORY_BDA_NETWORK_TUNER%, %KSSTRING_Ngene_BdaDVBTTunerFilter2%, Ngene.DVBTTuner.Filter2

[MicNgTunXC.NT.Interfaces]
AddInterface = %KSCATEGORY_TVTUNER%, %KSSTRING_Ngene_TvTunerFilter1%, Ngene.AnalogTuner.Filter1
AddInterface = %KSCATEGORY_TVTUNER%, %KSSTRING_Ngene_TvTunerFilter2%, Ngene.AnalogTuner.Filter2

; ----------------------------------------------------------------------------
; Tuner configuration
;
; Config1\Filter,Config2\Filter
;         bit 0 = Analog TV Tuner
;             1 = DVB-T 
;             2 = DVB-C         
;             3 = DVB-S         
;             4 = ATSC         
;             5 - 7  = ISDB-x ???         
;             8 - 31  = Reserved for future standards (China)         
;                       or properity US cable standards         
;        default: 0x00000001 
;
;   Note: BDA currently only supports DVB-x and ATSC
;         for now only one digital standard will be allowed
;         can be enhanced in the future i.e. for DVB-C/ATSC combi cards
;
; Digital\BandwidthSelect : frequency for automatic DVBT Bandwidth select
;                           Set to          0 for 6 MHz countries (Taiwan,South America)
;                           Set to  299000000 for 7/8 Mhz countries (most Pal B/G countries)
;                           Set to          1 for 8 Mhz countries (i.e. France)
;                           Set to 1000000000 for 7 Mhz countries (i.e. Australia)
;         This setting only has effect for applications which don't select
;         the bandwidth as required. 
;
; Config1\Tuner,Config2\Tuner : Tuner frontend and analog demodulator configuration
;           byte 0 : Tuner type
;           byte 1 : Frontend i2c address
;           byte 2 : Analog demodulator i2c address (types 0 - 239 )
;                    Ngene gpio pin to reset tuner  (types 240-255 )
;                          Bit 3 = 0 : low active reset
;                          Bit 3 = 1 : high active reset
;           byte 3 : Type of i2c gate (default = 0)
;           byte 4..11 : Parameters to i2c gate
;
;       Tuner types :  0 (0x00) = Microtune 3x0819,3x0909 with DRX3960A (All Analog, DVBT supported)
;                      1 (0x01) = Microtune 3x0823 with DRX3960A (M/N, DVBT 6 MHz and  ATSC supported)
;                      2 (0x02) = Philips FQ1216ME MK3		BG/DK/I/L
;                      3 (0x03) = Philips FQ1216AME MK4	BG/DK/I/L 
;                      4 (0x04) = Philips FQ1216ME MK5		BG/DK/I/L 
;                      5 (0x05) = Philips FQ1236 MK3		M/N 
;                      6 (0x06) = Philips FQ1236A MK4		M/N 
;                      7 (0x07) = Philips FQ1236 MK5		M/N
;                      8 (0x08) = Philips FQ1286 MK3		M/N-EAJ
;                      9 (0x09) = Philips FQ1286A MK4		M/N-EAJ 
;                     10 (0x0A) = Philips FQ1286 MK5		M/N-EAJ
;                     11 (0x0B) = Philips FM1216ME MK3		BG/DK/I/L
;                     12 (0x0C) = Philips FM1216AME MK4	BG/DK/I/L 
;                     13 (0x0D) = Philips FM1216ME MK5		BG/DK/I/L 
;                     14 (0x0E) = Philips FM1236 MK3		M/N 
;                     15 (0x0F) = Philips FM1236A MK4		M/N 
;                     16 (0x10) = Philips FM1236 MK5		M/N
;                     17 (0x11) = Philips FM1286 MK3		M/N-EAJ
;                     18 (0x12) = Philips FM1286A MK4		M/N-EAJ 
;                     19 (0x13) = Philips FM1286 MK5		M/N-EAJ
;                     20 (0x14) = Microtune 3x0819,3x0909  DVBT
;                     21 (0x15) = Microtune 3x0823         DVBT 6 MHz, ATSC
;                     22 (0x16) = Thomson DTT7520x         DVBT
;                     23 (0x17) = Philips FMD1216ME        BG/DK/I/L, DVBT 7/8 MHz
;
;                    224 (0xE0) = Microtune MT2060         DVBT                 
;                    225 (0xE1) = Microtune MT2060         DVBT 6 MHz, ATSC     
;                    226 (0xE2) = Microtune MT2060         All Analog, DVBT     
;                    227 (0xE3) = Microtune MT2060         M/N, DVBT 6 MHz, ATSC
;
;                    240 (0xF0) = XC2028 Silicon tuner
;                    241 (0xF1) = XC3028 Silicon tuner
;
;                    255 [0xFF] = use the tuner defined on other channel (SHARING)
;                    
;
;       I2c Gate : 0 = none
;                  1 = via digital demodulator
;                  2 = via ngene gpio pin
;                      byte 4 : pin nbr (0-4), high opens the gate.
;                  8 = via IO Expander high active
;                      byte 4 : expander i2c address 
;                      byte 5 : bit mask
;                  9 = via IO Expander low active
;                      byte 4 : expander i2c address 
;                      byte 5 : bit mask
;       I2c Gate bit 7 = 1 : use global mutex. Needed if more than the tuner will be switched
;       Type 8,9 assume a switch instead of a gate, it will not switched back
;       on release to reduce i2c traffic.

[MicNgTun.AddReg]
HKR,"Config1","Tuner",1,00,C6,82
HKR,"Config2","Tuner",1,00,C0,8A

[MicNgTunApp.AddReg]
HKR,"Config1","Tuner",1,00,C6,82
HKR,"Config2","Tuner",1,00,C0,8A
HKR,"DRXA","VidAmp",%REG_DWORD%,0		; CVBS = 2 Vpp
; HKR,"DRXA","VidAmpHead",%REG_DWORD%,896	; DC level ?
; HKR,"DRXA","VidAmpPeak",%REG_DWORD%,3		; Peaking 2.1dB@5MHz

[MicNgTunDVBT.AddReg]
HKR,"Config1","Filter",%REG_DWORD%,0x00000003
HKR,"Config1","Tuner",1,00,C6,82
HKR,"Config2","Filter",%REG_DWORD%,0x00000003
HKR,"Config2","Tuner",1,00,C0,8A
HKR,"Digital","BandwidthSelect",%REG_DWORD%,299000000
HKR,"DRXA","VidAmp",%REG_DWORD%,0		; CVBS = 2 Vpp
; HKR,"DRXA","VidAmpHead",%REG_DWORD%,896	; DC level ?
; HKR,"DRXA","VidAmpPeak",%REG_DWORD%,3		; Peaking 2.1dB@5MHz
HKR,"DRXD","Revision",%REG_DWORD%,0xA1


[MicNgTunXC.AddReg]
HKR,"Config1","Tuner",1,F0,C2,03
HKR,"Config2","Tuner",1,F0,C8,04

; ----------------------------------------------------------------------------

[Ngene.AnalogTuner.Filter1]
AddReg=Ngene.AnalogTuner.Filter1.AddReg

[Ngene.AnalogTuner.Filter1.AddReg]
HKR,,CLSID,,%TvTuner.CLSID%
HKR,,FriendlyName,,%Ngene.AnalogTuner.Filter1Desc%

[Ngene.AnalogTuner.Filter2]
AddReg=Ngene.AnalogTuner.Filter2.AddReg

[Ngene.AnalogTuner.Filter2.AddReg]
HKR,,CLSID,,%TvTuner.CLSID%
HKR,,FriendlyName,,%Ngene.AnalogTuner.Filter2Desc%

[Ngene.ATSCTuner.Filter1]
AddReg=Ngene.ATSCTuner.Filter1.AddReg

[Ngene.ATSCTuner.Filter1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.ATSCTuner.Filter1Desc%

[Ngene.ATSCTuner.Filter2]
AddReg=Ngene.ATSCTuner.Filter2.AddReg

[Ngene.ATSCTuner.Filter2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.ATSCTuner.Filter2Desc%

[Ngene.DVBTTuner.Filter1]
AddReg=Ngene.DVBTTuner.Filter1.AddReg

[Ngene.DVBTTuner.Filter1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.DVBTTuner.Filter1Desc%

[Ngene.DVBTTuner.Filter2]
AddReg=Ngene.DVBTTuner.Filter2.AddReg

[Ngene.DVBTTuner.Filter2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.DVBTTuner.Filter2Desc%

[Ngene.DVBSTuner.Filter1]
AddReg=Ngene.DVBSTuner.Filter1.AddReg

[Ngene.DVBSTuner.Filter1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.DVBSTuner.Filter1Desc%

[Ngene.DVBSTuner.Filter2]
AddReg=Ngene.DVBSTuner.Filter2.AddReg

[Ngene.DVBSTuner.Filter2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.DVBSTuner.Filter2Desc%

[Ngene.DVBCTuner.Filter1]
AddReg=Ngene.DVBCTuner.Filter1.AddReg

[Ngene.DVBCTuner.Filter1.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.DVBCTuner.Filter1Desc%

[Ngene.DVBCTuner.Filter2]
AddReg=Ngene.DVBCTuner.Filter2.AddReg

[Ngene.DVBCTuner.Filter2.AddReg]
HKR,,CLSID,,%Proxy.CLSID%
HKR,,FriendlyName,,%Ngene.DVBCTuner.Filter2Desc%

;------------------------------------------------------------------------------
; Remote device
;------------------------------------------------------------------------------

[MicNgSrm.NT]
AddReg = MicNgSrm.NT.AddReg

[MicNgSrm.NT.AddReg]
; note: dummy to avoid CHKINF warning

[MicNgSrm.NT.Services]
AddService=MicNgSrm,2,MicNgSrm.Service

[MicNgSrm.Service]
DisplayName   = %MicNgSrm.ServiceDesc%
ServiceType   = %SERVICE_KERNEL_DRIVER%
StartType     = %SERVICE_DEMAND_START%
ErrorControl  = %SERVICE_ERROR_NORMAL%
ServiceBinary =%10%\system32\drivers\MicNgSrm.sys

;------------------------------------------------------------------------------
;  String Definitions
;------------------------------------------------------------------------------

[Strings]

KSSTRING_Ngene_TvTunerFilter1="{2745a786-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_TvTunerFilter2="{2745a787-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_TvAudioFilter1="{2745a788-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_TvAudioFilter2="{2745a789-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_CrossBarFilter1="{2745a78b-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_CrossBarFilter2="{2745a78c-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_AnalogCaptureFilter1="{2745a78f-e8ca-11d8-a988-004030005452}"
KSSTRING_Ngene_AnalogCaptureFilter2="{2745a790-e8ca-11d8-a988-004030005452}"
KSSTRING_Ngene_DigitalCaptureFilter1="{2745a796-e8ca-11d8-a988-004030005452}"
KSSTRING_Ngene_DigitalCaptureFilter2="{2745a797-e8ca-11d8-a988-004030005452}"
KSSTRING_Ngene_BdaATSCTunerFilter1="{2745a7ab-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_BdaATSCTunerFilter2="{2745a7ac-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_BdaDVBTTunerFilter1="{2745a7ad-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_BdaDVBTTunerFilter2="{2745a7ae-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_BdaDVBSTunerFilter1="{2745a7af-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_BdaDVBSTunerFilter2="{2745a7b0-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_BdaDVBCTunerFilter1="{2745a7b1-e8ca-11d8-a988-004030004d56}"
KSSTRING_Ngene_BdaDVBCTunerFilter2="{2745a7b2-e8ca-11d8-a988-004030004d56}"

NgeneCaptureAnalogAudioInputName="{2745a791-e8ca-11d8-a988-004030005452}"
NgeneCaptureAnalogAudioOutputName="{2745a792-e8ca-11d8-a988-004030005452}"

KSCATEGORY_CAPTURE                = "{65E8773D-8F56-11D0-A3B9-00A0C9223196}"
KSCATEGORY_VIDEO                  = "{6994AD05-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_AUDIO                  = "{6994AD04-93EF-11D0-A3CC-00A0C9223196}"
KSCATEGORY_CROSSBAR               = "{a799a801-a46d-11d0-a18c-00a02401dcd4}"
KSCATEGORY_TVAUDIO                = "{a799a802-a46d-11d0-a18c-00a02401dcd4}"
KSCATEGORY_TVTUNER                = "{a799a800-a46d-11d0-a18c-00a02401dcd4}"
KSCATEGORY_BDA_RECEIVER_COMPONENT = "{FD0A5AF4-B41D-11d2-9C95-00C04F7971E0}"
KSCATEGORY_BDA_NETWORK_TUNER      = "{71985F48-1CA1-11d3-9CC8-00C04F7971E0}"

Proxy.CLSID    = "{17CCA71B-ECD7-11D0-B908-00A0C9223196}"
CrossBar.CLSID = "{71F96460-78F3-11d0-A18C-00A0C9118956}"
TVAudio.CLSID  = "{71F96462-78F3-11d0-A18C-00A0C9118956}"
TvTuner.CLSID  = "{266EEE40-6C63-11cf-8A03-00AA006ECB65}"

SERVICE_KERNEL_DRIVER=1
SERVICE_DEMAND_START=3
SERVICE_ERROR_NORMAL=1
REG_EXPAND_SZ=0x00020000
REG_DWORD=0x00010001

KS_AnalogVideo_None     = 0x00000000
KS_AnalogVideo_NTSC_M   = 0x00000001
KS_AnalogVideo_NTSC_M_J = 0x00000002
KS_AnalogVideo_NTSC_433 = 0x00000004
KS_AnalogVideo_PAL_B    = 0x00000010
KS_AnalogVideo_PAL_D    = 0x00000020
KS_AnalogVideo_PAL_G    = 0x00000040
KS_AnalogVideo_PAL_H    = 0x00000080
KS_AnalogVideo_PAL_I    = 0x00000100
KS_AnalogVideo_PAL_M    = 0x00000200
KS_AnalogVideo_PAL_N    = 0x00000400
KS_AnalogVideo_PAL_60   = 0x00000800
KS_AnalogVideo_SECAM_B  = 0x00001000
KS_AnalogVideo_SECAM_D  = 0x00002000
KS_AnalogVideo_SECAM_G  = 0x00004000
KS_AnalogVideo_SECAM_H  = 0x00008000
KS_AnalogVideo_SECAM_K  = 0x00010000
KS_AnalogVideo_SECAM_K1 = 0x00020000
KS_AnalogVideo_SECAM_L  = 0x00040000
KS_AnalogVideo_SECAM_L1 = 0x00080000
KS_AnalogVideo_PAL_N_COMBO = 0x00100000

; -----------------------------------------------------------------------------

MFGNAME  = "Magic-Pro Tech"
INSTDISK = "10Moons WDM Video Capture Install disk"
MicNgBas.ServiceDesc = "10MOONS TS202 Base Driver"
MicNgCap.ServiceDesc = "10MOONS TS202 Audio/Video Capture Driver"
MicNgTun.ServiceDesc = "10MOONS TS202 Tuner Driver"
MicNgSrm.ServiceDesc = "10MOONS TS202 Remote Control Driver"

Ngene.AnalogTuner.Filter1Desc = "10MOONS TS202 TV-Tuner 1"
Ngene.AnalogTuner.Filter2Desc = "10MOONS TS202 TV-Tuner 2"
Ngene.ATSCTuner.Filter1Desc   = "10MOONS TS202 BDA ATSC Tuner 1"
Ngene.ATSCTuner.Filter2Desc   = "10MOONS TS202 BDA ATSC Tuner 2"
Ngene.DVBTTuner.Filter1Desc   = "10MOONS TS202 BDA DVB-T Tuner 1"
Ngene.DVBTTuner.Filter2Desc   = "10MOONS TS202 BDA DVB-T Tuner 2"
Ngene.DVBSTuner.Filter1Desc   = "10MOONS TS202 BDA DVB-S Tuner 1"
Ngene.DVBSTuner.Filter2Desc   = "10MOONS TS202 BDA DVB-S Tuner 2"
Ngene.DVBCTuner.Filter1Desc   = "10MOONS TS202 BDA DVB-C Tuner 1"
Ngene.DVBCTuner.Filter2Desc   = "10MOONS TS202 BDA DVB-C Tuner 2"
Ngene.TvAudio.Filter1Desc     = "10MOONS TS202 Audio Decoder 1"
Ngene.TvAudio.Filter2Desc     = "10MOONS TS202 Audio Decoder 2"
Ngene.CrossBar.Filter1Desc    = "10MOONS TS202 Crossbar 1"
Ngene.CrossBar.Filter2Desc    = "10MOONS TS202 Crossbar 2"
Ngene.AnalogCapture.Filter1Desc  = "10MOONS TS202 Audio/Video Capture 1"
Ngene.AnalogCapture.Filter2Desc  = "10MOONS TS202 Audio/Video Capture 2"
Ngene.DigitalCapture.Filter1Desc = "10MOONS TS202 Digital Video Capture 1"
Ngene.DigitalCapture.Filter2Desc = "10MOONS TS202 Digital Video Capture 2"

; -----------------------------------------------------------------------------

BASE_APPBOARD       = "MagicTwin TV Express Audio/Video Bridge"
CAPTURE_APPBOARD_50 = "MagicTwin TV Express Bridge Video Capture"
TUNER_APPBOARD_DVBT = "MagicTwin TV Express Bridge DVBT/TV-Tuner"
BASE_XCEIVE_XC2028  = "MagicTwin TV Express Audio/Video Bridge"
CAPTURE_XCEIVE_XC2028_50_FP = "MagicTwin TV Express Video Capture Device"
CAPTURE_XCEIVE_XC2028_60_FP = "MagicTwin TV Express Video Capture Device"
TUNER_XCEIVE_XC2028 = "MagicTwin TV Express Tuner Device"
REMOTE_APPBOARD     = "MagicTwin TV Express Remote Control Device"
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web5, load: 1.46