Custom Cards
Well, if your card is not supported right now by the
driver, or you have some audio problems (for example,
TV audio is not heard when you choose TV audio, or audio
is off when it should be on, or radio does not work),
and you can spend some time and you have Win98, Win95
or WinME available (now , the BtSpy utility also supports
Win2000/WinXP) and installed on a computer, and you
have the original drivers and applications bundled with
your card... It is possible to create a custom card
definition that will make nearly any card (in the vast
majority of cases) work with this driver. Please, read
all the following directions before proceeeding.
Steps:
- Install your video capture card in a computer running
Win95/Win98/Win98SE/WinME/Win2000 or WinXP.
- Install the video capture drivers and applications
that were bundled with your card - At this point,
card must be working with the manufacturer drivers.
- Now execute the BtSpy utility (you can find
it in the download section)
and follow each and every of the steps the program
proposes. Note that BtSpy must NOT be closed until
it finishes, so, there will we times when BtSpy is
running at the same time of the video capture card
applications bundled with the card, so BtSpy is able
to Spy those applications)
- When BtSpy utility finishes, it has collected all
the required information to create a custom card profile
(or template): The card profile is displayed, and
you can modify it if you need to (most users don't
need to modify it).
- Now save the profile in a safe place because you
will need that profile when you install the new driver.
- Now you can install (if you need to) your video
capture card in the computer where you plan to install
the new driver
- Run the driver installer: When asked for the card
model, select "Custom card" (the last one),
select the TV tuner model your card is using (If you
don't know the TV tuner model, you will have to try
several until you find one of them that lets you switch
TV channels). Also, if your card is able to tune Radio,
you should check the "TV tuner can natively tune
Radio" box.
- Now press "Next": The Custom card definition
screen will appear.
- The easiest way to fill the requested values is
by just pressing the "Import" button, and
select now the profile generated with the BtSpy utility.
All the required values will be imported. Else, you
will have to manually fill them using the created
report and the tooltips each field displays.
- Press the "Next" button and continue installation.
- If the profile generated with BtSpy is right (95%
of cases), then the driver should be able to handle
your board without trouble.
- Don't forget to keep a copy of the profile, as every
time you install the driver, it will be needed.
- And , if you manage to make the card work , don't
forget to send the profile to
me, so i can add native support for your card
in the next driver release!
Just a few explanations on how
this works
The Bt848/Bt878 has 24 I/O lines called GPIO that are
user defined as Inputs or outputs. Usually, those lines
are used to control an external audio mux (audio selector)
that is a chip that lets the video capture card select
the audio source to output, or allows to mute the audio
output. Those I/O lines could also be used to select
stereo/SAP/mono audio for cards that have this capability
(there are some that use a different method), and could
also be used to read the IR receiver (again, this is
not the only method)
The problem is that every and each card model use different
(of the 24) I/O lines to accomplish those tasks. So,
for eaxmple, a card could be using lines 0,2 and 5 to
select the audio source while another card could be
using lines 2,8 and 10 to select the audio source; and
even if they use the same lines, maybe the binary values
(1 or 0) that must be output by those lines could be
different. And even worse, you must know which of those
24 I/O lines are inputs and which of them are outputs!
The Bt848/Bt878 chip has a register called GPOE (the
acronym for General Purpose io Output Enable): If you
write a value to this register, every bit that is set
(to 1) will force the associated I/O line to be an Output,
else, the associated I/O line will be an input. If you
read it, you read the last written value.
The chip also has a GPDATA register: If you write to
it , then all lines of the I/O port that are set to
be Outputs will output the associated bit of the written
value; If you read this register, you will read the
last written value for each bit that is associated to
an output line, and you will read the current status
of the line if it is set as an input.
The chip has also a I2C bus implemented in hardware:
It is normally used to control TV tuner modules, and
sometimes is used to select audio sources (10% or less)
or to read the IR receiver codes (10% or less). I have
implemented autodetection in the driver for nearly all
I2C chipsets that are actually used on those cards,
so there is no need to worry about this. It simply asks
using this bus if a chip is there, and installs the
required support for it if found..
Video source selection has also some problems: The
chip has an internal video mux with 4 inputs. The manufacturer
wires one of those inputs to the TV tuner, and other
one to the SVideo connector and the remaining ones to
composite (RCA) inputs (or are simply left unconnected)
- There's no way to know the video input used for each
video source. There seems to be a kind of traditional
assignment, but it is not always used.
As you might notice, the only problems are the GPIO
bus, as there's no way to autodetect settings and the
video mux used for each video source: The only way is
to spy the values that are output by the manufacturer's
software using the GPIO bus of the Bt chipset and the
registers used to select the video input to digitize.
This is exactly what the BtSpy tool does: While the
manufacturer application is running, the BtSpy tool
is reading the GPDATA and GPOE and videxmux registers
of the Bt848/Bt878 continuously and saving the values
used to enable each and every audio and video source.
Then, a profile with those values is generated and it
is displayed so user can save it, or modify it.
When you install the driver, that profile is imported,
and the driver uses the values you have captured to
enable/disable the audio sources and select the proper
video source. That's all - It should let nearly every
existing card based on the Bt848/Bt878 chip work with
the driver!
Please, If you are able to get / create a working profile
for your card, don't forget to send it to me,
so i can add native support for your card in the next
driver release!
|