bttv - BT848 frame grabber driver 0.3 Copyright (C) 1996,97 Ralph Metzler (rjkm@thp.uni-koeln.de) & Marcus Metzler (mocm@thp.uni-koeln.de) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This driver is solely based on a Bt848 manual and Philips data sheets for the various chips of the tuner. (No "NDAed" code, no reverse engineering) Except for the tuner and videotext code it should work on any card using the Bt848. The following cards (AFAIK) use a Bt848: Miro PCTV, Hauppauge Win/TV pci, STB PCI TV, Intel Smart Video III and the Diamond DTV2000. The only differences between the cards are the types of tuners used and extra components on the boards. E.g., the Hauppauge cards (at least the German version 405) have an additional Videotext decoder chip, while the Miro product will have to do this in software. On the other hand, the Miro cards have both crystals (for NTSC AND PAL) and an S-VHS input on board. Starting with version 0.3 you can use several cards at the same time. I tested this with a Miro PCTV and a Hauppauge Win/TV pci (304) in an ASUS P6NP5. IRQs can be shared. The (arbitrary) maximum number of cards is 4 but can be adjusted by changing BTTV_MAX at the beginning of bttv.c if you need more. (But which board has more than 4 slots plus 1 for the VGA card?) This is still a test version and might crash your computer! Use it at your own risk! Only kernel versions 2.0.x and 2.1.x are supported. If you use 2.1.x then 2.1.16 with modutils 2.1.13 is a good start. Due to the massive changes to the modules code later 2.1.x might not work. E.g., I have problems with 2.1.28... Of the 2.0.x kernels I only tested 2.0.28 and newer. If you have to upgrade anyway I recommend using kernel 2.0.30. I will not support older kernels. If you upgrade your system to a 2.x.x kernel you might also have to get new module utilities, a new libc, etc. Read the file linux/Documentation/Changes in the kernel sources for details. Support for the videotext decoder chip SAA5246 on Hauppauge Win/TV cards to work over the I2C interface of the Bt848 with the videotext package by Martin Buck is included in the vtx-driver sub-directory and in the newer versions of the videotext package. (The videotext decoder chip is not included on the WinCast/TV card or AFAIK other non-Hauppauge cards. ) You can get the videotext package at sunsite in: /pub/Linux/apps/video/videoteXt-0.6.tar.gz Software decoding of the videotext signal is not supported yet by bttv. Matrox Millennium/Mystique, S3 and some other cards are supported and tested to work. Support for other cards will be added if there are volunteers for testing or somebody sends me detailed information about the card or a test card. If you test this with S3 cards, install the wintv module AFTER starting X11 for the first time!!! Since X11 checks for 64MB alignment of the videomem it might remap it and wintv would write into the wrong memory (actually into non-existing memory ...). There might be even more problems with S3 cards. Read the file PROBLEMS for details. The driver is tested by myself with Accelerated X 3.1 and XFree 3.2(A) on a Matrox Millennium. Older XFree versions seem to be a problem with some S3 cards (see PROBLEMS). Some preliminary code for grabbing into memory is now included. Some drivers (e.g. Matrox Meteor) reserve a large memory chunk at boot time for grabbing into and let user programs mmap() it. Since the Bt848 can write each pixel (or even parts of pixels) to a different memory location, I actually don't need one continuous chunk of memory. The picture can be scatter-written directly into the 4Kb pages of user memory. Send questions regarding the driver to rjkm@thp.uni-koeln.de and questions regarding xtvscreen to mocm@thp.uni-koeln.de. But please first check if you have the latest version of bttv. You can always find it at: http://www.thp.uni-koeln.de/~rjkm/linux/bttv.html