I found a Creative Labs 7160 card at a computer show for $30 a while ago... Figured it was cheap, might as well gamble on the software support, and bought it.

Turns out there was no software... Just some old MS Windows gobldigook. However, it also turned out that Luxsonor and/or Creative had given up on the card, and had posted data sheets, and sourcecode for a MS Windows device driver on the net. It also turns out that a couple of other people were also playing with the card. One person even had a complete driver however they had sold it, so it was out of open-source land.

So, I fiddled around, harrassed various people, grabbed everything off the net I could, and have a more or less functional FreeBSD driver.

Meanwhile, here is everything I know about the card:

The LS220 is the center of the card, it has the PCI interface, and has a 16MB memory mapped address space where all its registers and the 2 or 3 MB of onboard ram (for frame buffer, firmware, and data FIFOs) are. It can also generate interupts, for things like end-of-frame and "feed me!".

The LS220's video output is an 8 or 16 bit digital interface, which connects to a BT865 chip, which generates the analog NTSC. It also may be generating the NTSC clock. Both the BT865 and the LS220 are capable of generating the clock, but only one can actualy do so at a time.

The BT865, as well as an I2C eeprom are connected to an I2C bus which is on bits 7 and 6 of the LS220's general purpose IO port. The eeprom contains the version of the board, the region code, etc.

The LS220 also has a digital video input. On the Creative card it is available as a VGA passthrough-overlay thing. I'm not exactly sure what its capable of, since my target aplication was analog NTSC output.

The LS220's audio output is I2S, depending on the version of the card one has. On my specific card, it is definately I2S, connected to a crystal semiconductor CS4331 chip. The audio clock is generated by a microclock MK2744 chip.

The MK2744 is controled by a couple of bits on the general purpose 8 bit port off of the LS220. I'm not sure which, but it seems to be bits 5,4, and 3. The various possible values were not obvious or correct. Unfortunately, the datasheet for the MK2744 is missing... (if you have it, please email me!)

The LS220 requires firmware to operate. Fortunately, the firmware can be found in the MS Windows driver. There are three different codecs, MPEG, AC3, and plain PCM. There are then two versions of each codec, for different versions of the card (I2S or non-I2S), as well as two versions of each codec for the LS220 and LS240 chips.