	If the installer program didnīt work for you ...
        ----------------------------------------------------

	I have provided this package for those of you who are
unable to use the installer to install the WDM driver. If you
run into trouble while installing the driver with tthe install
program, here you have the files required to install the driver
by hand. 
	But, before proceeding, you must customize the Bt848.INF
file to suit your capture card: Here there are step-by-step 
instructions on how to do this... It is not a complex task, just
a matter of search & replace.


Steps to generate the right Bt848.INF file for your card:

1) Open bt848.inf in your favorite text editor.

2) Search for the token "$1" and replace it with the hex number
   of the next listing that best matches your capture card. This must
   include the "0x" prefix. So, if your card is a "Hauppauge Old" you
   must replace the token "$1" with "0x01"
	
   Hex Nbr Card
   -----------------------------------------------------------------
   0x00 Use autodetected",
   0x01 "MIRO PCTV",
   0x02 "Hauppauge (bt848)",
   0x03 "STB",
   0x04 "Intel",
   0x05 "Diamond DTV2000",
   0x06 "AVerMedia TVPhone",
   0x07 "MATRIX-Vision MV-Delta",
   0x08 "Fly Video II (Bt848)",
   0x09 "TurboTV",
   0x0a "Standard BT878 (Hauppauge (bt878))",
   0x0b "MIRO PCTV pro",
   0x0c "ADS Technologies Channel Surfer TV",
   0x0d "AVerMedia TVCapture 98",
   0x0e "Aimslab VHX",
   0x0f "Zoltrix TV-Max",
   0x10 "Pixelview PlayTV (bt878)",
   0x11 "Leadtek WinView 601",
   0x12 "AVEC Intercapture",
   0x13 "LifeView FlyKit w/o Tuner",
   0x14 "CEI Raffles Card",
   0x15 "Lucky Star Image World ConferenceTV",
   0x16 "Phoebe Tv Master + FM (CPH050)",
   0x17 "Modular Technology MM205 PCTV, bt878",
   0x18 "[many vendors] CPH05X/06X (bt878)",
   0x19 "Terratec/Vobis TV-Boostar",
   0x1a "Newer Hauppauge WinCam (bt878)",
   0x1b "MAXI TV Video PCI2",
   0x1c "Terratec TerraTV+",
   0x1d "Imagenation PXC200",
   0x1e "FlyVideo 98",
   0x1f "iProTV",
   0x20 "Intel Create and Share PCI",
   0x21 "Terratec TerraTValue",
   0x22 "Leadtek WinFast 2000",
   0x23 "Flyvideo 98 (LR50Q) / Chronos Video Shuttle II",
   0x24 "Flyvideo 98FM (LR50Q) / Typhoon TView TV/FM Tuner",
   0x25 "PixelView PlayTV pro",
   0x26 "TView99 CPH06X",
   0x27 "Pinnacle PCTV Studio/Rave",
   0x28 "STB2",
   0x29 "AVerMedia TVPhone 98",
   0x2a "ProVideo PV951",
   0x2b "Little OnAir TV",
   0x2c "Sigma TVII-FM",
   0x2d "MATRIX-Vision MV-Delta 2",
   0x2e "Zoltrix Genie TV/FM",
   0x2f "Terratec TV/Radio+",
   0x30 "Dynalink Magic TView ",
   0x31 "GV-BCTV3" ,
   0x32 "Prolink PV-BT878P+4E / PixelView PlayTV PAK / Lenco MXTV-9578 CP" ,
   0x33 "Eagle Wireless Capricorn2 (bt878A)" ,
   0x34 "Pinnacle PCTV Studio Pro",
   0x35 "Typhoon TView RDS + FM Stereo / KNC1 TV Station RDS",
   0x36 "Livetec LT 9415 TV (LR90 Rev.F)",
   0x37 "BESTBUY Easy TV (model CPH031)",
   0x38 "FlyVideo '98/FM",
   0x39 "GrandTec 'Grand Video Capture'",
   0x3a "Phoebe TV Master Only (No FM) CPH060" ,
   0x3b "TV Capturer (CPH03X)",
   0x3c "MM100PCTV" ,
   0x3d "AG Electronics GMV1",
   0x3e "BESTBUY Easy TV (bt878, model CPH061))",
   0x3f "ATI TV-Wonder",
   0x40 "ATI TV-Wonder VE",
   0x41 "FlyVideo 2000S",
   0x42 "Terratec TValueRadio",
   0x43 "GV-BCTV4/PCI",
   0x44 "3Dfx VoodooTV FM (Euro), VoodooTV 200 (USA)",
   0x45 "Active Imaging AIMMS",
   0x46 "PV-BT878P+",
   0x47 "Flyvideo 98EZ (capture only)",
   0x48 "Prolink PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM)",
   0x49 "Sensoray 311",
   0x4a "Conexant Bt878 NTSC XEVK",
   0x4b "Rockwell Bt878 NTSC XEVK",
   0x4c "Conexant Foghorn NTSC/ATSC-A",
   0x4d "Conexant Foghorn NTSC/ATSC-B",
   0x4e "Conexant Foghorn NTSC/ATSC-C",
   0x4f "RS BT Card",
   0x50 "Tekram M205",
   0x51 "Generic Bt8xx based card without tuner",
   0x52 "Generic Bt8xx based with 4 Composite ins",
   0x53 "FlyVideo 2000S with add-on board",
   0x54 "Hoontech 878TV/FM"
   0x55 "KWorld TV878RF-PRO"
   0x56 "Gallant InterVisionTV IV550"
   0x57 "Mach TV 878"



 	Please, note that these are the cards that canīt be autodetected
All the other cards should use the 0x00 code. Also see the file Cards
included in the package to help identify yours.

3) Search for the token "$2" and replace it with the hex number
   of the next listing that best matches the tuner of your capture card. 
   This must include the "0x" prefix. So, if your card is has a "Philips PAL_I" you
   must replace the token "$2" with "0x01"

   HexNbr  Tuner
   -----------------------------------------------------------
   0x00 "Temic 4002 FH5 [NORM B/G]",
   0x01	"Philips PAL_I ",
   0x02	"Philips NTSC",
   0x03	"Philips SECAM",
   0x04	"Philips PAL",
   0x05	"Temic 4032 FY5 [NORM M/NC]",
   0x06	"Temic 4062 FY5 [NORM I]",
   0x07	"Temic 4036 FY5 [NORM M/NC]",
   0x08	"Alps HSBH1",
   0x09	"Alps TSBE1",
   0x0a	"Alps TSBB5",
   0x0b	"Alps TSBE5",
   0x0c	"Alps TSBC5",
   0x0d	"Temic 4006 FH5 [NORM B/G]",
   0x0e	"Alps TSCH6",
   0x0f	"Temic 4016 FY5 [NORM D/K/L]",
   0x10	"Philips NTSC_M (MK2)",
   0x11	"Temic 4066 FY5 [NORM I]",
   0x12	"Temic 4006 FN5 [NORM* auto]",
   0x13	"Temic 4009 FR5 [NORM B/G] + FM",
   0x14	"Temic 4039 FR5 [NORM M/NC] + FM",
   0x15	"Temic 4046 FM5 [NORM multi]",
   0x16	"Philips PAL_DK",
   0x17	"Philips PAL/SECAM multi (FQ1216ME)",
   0x18	"LG TAPC-I001D [NORM I] + FM",
   0x19	"LG TAPC-I701D [NORM I]",
   0x1a "LG TPI8NSR01F [NORM M/NC] + FM",
   0x1b	"LG TPI8PSB01D [NORM B/G] + FM",
   0x1c	"LG TPI8PSB11D [NORM B/G]",
   0x1d	"Temic 4009 [NORM* Auto] + FM",
   0x1e	"SHARP NTSC_JP (2U5JF5540)",
   0x1f	"Samsung TCPM9091PD27 [NORM B/G/I/D/K]",
   0x20	"Temic 4106 FH5 [NORM B/G]",
   0x21	"Temic 4012 FY5 [NORM D/K/L]",
   0x22	"Temic 4136 FY5 [NORM M/NC]",
   0x23	"LG PAL (newer TAPC series)",
   0x24	"Philips 1236D ATSC/NTSC Input 1",
   0x25	"Philips 1236D ATSC/NTSC Input 2",
   0x26	"MT2032"
   0xff Use the autodetected tuner

	
	Note that some cards are able to tell the driver 
the model of tuner on board, (Hauppauge, Miro, Pinnacle,Flyvideo
,Avermedia), other cards simply always carry the same tuner model.
In such a case the driver can autodetect the tuner, But, the driver
will always use the user supplied tuner type if not set to 
autodetection.
	If you donīt know the tuner brand/model, try a Philips
first. If the channel number does not match the channel displayed,
but channels change when you change them, then brand of tuner is
probably right, but the exact model is not. Also, if you live in
Argentina, Paraguay or Uruguay, note that we use NTSC tuners.

4) Search for the token "$3" and replace it with the hex number
   0x01 if your card has a TDA9855 on board. Else , replace with
   0x00.

5) Search for the token "$4" and replace it with the hex number
   0x01 if your card does NOT have a TEA5757 and is supposed to
   be able to tune FM radio. (Do NOT set it for Miro, Pinnacle
   or VHX cards)

6) Search for the token "$5" and replace it with the hex number
   0x01 if your card does NOT have support FM radio tuning, but
   you would like to try to use the TV tunaer audio circuit to
   tune FM radio (Will give FM mono). Donīt expect good quality,
   but it should work.

7) Save the modified bt848.inf file. Now you have the right bt848.inf
   file for your card. Copy the files bt848.inf and bt848.sys to a
   temporary location: Those 2 files are the only required to install
   the complete WDM driver.

8) Open the hardware configuration manager of windows, choose the 
video capture device, and update the driver with this recently created
bt848.inf file. Probably, the Configuration Manager will say that 
this driver is not exactly made for your hardware, and that the driver
is not certified (by microsoft). Allow it to continue.

9) If all the above steps went ok, the driver is installed!!


 ---- End ------


	For those curious about it, I think that it is virtually
impossible to provide an inf file for each possible combination of
card and tuner. The installer program simply performs all the above
steps for you.

###################################################################

ADVANCED CONFIGURATIONS:
   Nowadays the driver is supporting a lot of keys (registry keys)
that are not required by normal users (so the .INF file that I 
provide is a simplified one; The automatic installer is able to 
generate a much more complex INF file that is able to control the
driver settings in a much more refined way.
   Here I will document all those settings, so, if you must, you
can add them by hand to the provided INF file. Those settings work,
but the recommended way to create such a personalized INF file is to
use the automatic installer.
	All the following keys must be added after the line :
"HKR,"DriverData","WhiteBalance",0x00010001, 0x00, 0x00, 0x00, 0x00"

General rules:	
  The last 4 values together form a HEX value, the Least significant
byte is the first, bytes are separated by "," and must have the "0x"
prefix. There must be 4 bytes.

Key:
  HKR,"DriverData","TunerI2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
Meaning:
  If present, forces the I2C address of the TV tuner module to the one
given, instead of autodetecting it.

Key:
  HKR,"DriverData","TunerFastTune",0x00010001, 0x00, 0x00, 0x00, 0x00
Meaning:
  If present, and value set to 1, makes driver use the "FastTune" hardware
method to set the PLL frequency of the TV tuner. Should make tuning 10x
times faster, but some tuners don't work with it. If set to 0, means
the driver won't use this method (same as if the key is not present)

Key:  
  HKR,"DriverData","TunerHalfStep",0x00010001, 0x00, 0x00, 0x00, 0x00
Meaning:
  Allows using a frequency step of 31500Hz to improve TV channel fine 
tuning, if set to 1. 0 Means that the driver will use a 62500Hz (default
if not present, or set to 0). Some tunera are incompatible with the 31500
Hz tuning step.

Key:
  HKR,"DriverData","HasMSP34xx",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTDA7432",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTDA8425",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTDA9840",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTDA9850",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTDA9873",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTDA9874",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTDA9875",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTEA6300",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTEA6320",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTEA6420",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","HasTDA8540",0x00010001, 0x00, 0x00, 0x00, 0x00
Meaning:
  Each of this keys force (if set to 1) to detect the associated audio
chip. If you force a given chip, then you must specify it's I2C address
with the associated following key. If set to 0, that chip wont be 
detected at all, and if you set it to 0xFF, then autodetection will
be enabled (same as if the key is not present)

Key:
  HKR,"DriverData","MSP34xxI2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TDA7432I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TDA8425I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TDA9840I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TDA9850I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TDA9855I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TDA9873I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TDA9874I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TDA9875I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TEA6300I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TEA6320I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TEA6420I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","TDA8540I2CAddr",0x00010001, 0x00, 0x00, 0x00, 0x00
Meaning:
  If you force the detection of one of this chips,  you must use the
associated key to give the I2C address of it. Only required if you 
force them. If present, but chip is not forced, will force the I2C address
if chip is autodetected.

Key:
  HKR,"DriverData","NeedSIS5511or5596Fix",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","NeedSIS5597or5598Fix",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","NeedVFSX",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","NeedTriton",0x00010001, 0x00, 0x00, 0x00, 0x00
Meaning:
  The above keys activate compatibility with the given motherboard
chipsets if set to 1. They degrade performance, so must be used only if experiencing
trouble (as lockups). The SIS fixes are not SMP safe,so they shouldn't be used on a
SMP machine.

Key:
  HKR,"DriverData","Xtal0",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Xtal1",0x00010001, 0x00, 0x00, 0x00, 0x00
Meaning:
  The above keys are overrides for the autodetected frequency values of the
reference crystals that are connected to the Bt8xx hardware. The value is
simply the frequency in Hz of the associated crystal, or 0 if crystal is not
present. Remember, frequency is in Hertz and must be written in HEX as explained)

Key:
  HKR,"DriverData","Custom_VideoIns",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_AudioIns",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_Tuner",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_Svhs",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_GPIOMask",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_VideoMux0",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_VideoMux1",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_VideoMux2",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_VideoMux3",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_AudioMux0",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_AudioMux1",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_AudioMux2",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_AudioMux3",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_AudioMux4",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_HasRadio",0x00010001, 0x00, 0x00, 0x00, 0x00
  HKR,"DriverData","Custom_HasTV",0x00010001, 0x00, 0x00, 0x00, 0x00
Meaning:
  If the card key ($1) is set to 0xFF, then the driver will use the custom
card template. The required values for the template are provided with the
above keys.
  Custom_Videoins = Number of video inputs (including TV tuner, SVideo and
composite ins)
  Custom_AudioIns = Number of audio inputs
  Custom_Tuner = The index (0 based) of the following videoMuxentries that
selects the video of the TV Tuner (set it to -1 = 0xFFFFFFFF if you don't
have a TV tuner)
  Custom_SVhs = The index (0 based) of the following videoMuxentries that
selects the video of the SVideo (set it to -1 = 0xFFFFFFFF if you don't
have a SVideo connector)
  Custom_GPIOMask: The bits that must be outs in the GPIO of the Bt8xx to
select audio source, etc (this is the value of the GPOE register of the Bt8xx)
  Custom_VideoMux#: The associated video mux of the Bt8xx (0 based)
  Custom_AudioMux0: The TV tuner GPDATA contents to select TV audio
  Custom_AudioMux1: The Radio GPDATA contents to select Radio audio
  Custom_AudioMux2: The Composite/SVideo GPDATA contents to select Composite/SVideo audio
  Custom_AudioMux3: Same as above: The Composite/SVideo GPDATA contents to select Composite/SVideo audio
  Custom_AudioMux4: The Mute GPDATA contents used to MUTE audio
  Custom_HasRadio: Set to 1 if card has a radio tuner
  Custom_HasTV: Set to 1 if card has a TV tuner
	Just to clarify the way the videoMux# keys work: If the driver wants
to select the TV video source, it uses the VideoMux#x entry where x is the value of
the key Custom_tuner. A similar concept is used for SVideo. All the non referenced
entries of VideoMux# are simply composite inputs


Bye for now!






