/proc/sound, /dev/sndstat
-------------------------

/proc/sound and /dev/sndstat is not supported by the
driver. To find out whether the driver succeeded loading,
check the kernel log (dmesg).


ALaw/uLaw sample formats
------------------------

This driver does not support the ALaw/uLaw sample formats.
ALaw is the default mode when opening a sound device
using OSS/Free. The reason for the lack of support is
that the hardware does not support these formats, and adding
conversion routines to the kernel would lead to very ugly
code in the presence of the mmap interface to the driver.
And since xquake uses mmap, mmap is considered important :-)
and no sane application uses ALaw/uLaw these days anyway.
In short, playing a Sun .au file as follows:

cat my_file.au > /dev/dsp

does not work. Instead, you may use the play script from
Chris Bagwell's sox-12.14 package (available from the URL
below) to play many different audio file formats.
The script automatically determines the audio format
and does do audio conversions if necessary.
http://home.sprynet.com/sprynet/cbagwell/projects.html


Blocking vs. nonblocking IO
---------------------------

Unlike OSS/Free this driver honours the O_NONBLOCK file flag
not only during open, but also during read and write.
This is an effort to make the sound driver interface more
regular. Timidity has problems with this; a patch
is available from http://www.ife.ee.ethz.ch/~sailer/linux/pciaudio.html.
(Timidity patched will also run on OSS/Free).


MIDI UART
---------

The driver supports a simple MIDI UART interface, with
no ioctl's supported.


MIDI synthesizer
----------------

The card both has an OPL compatible FM synthesizer as well as
a wavetable synthesizer.

I haven't managed so far to get the OPL synth running.

Using the wavetable synthesizer requires allocating
1-4MB of physically contiguous memory, which isn't possible
currently on Linux without ugly hacks like the bigphysarea
patch. Therefore, the driver doesn't support wavetable
synthesis.


No support from S3
------------------

I do not get any support from S3. Therefore, the driver
still has many problems. For example, although the manual
states that the chip should be able to access the sample
buffer anywhere in 32bit address space, I haven't managed to
get it working with buffers above 16M. Therefore, the card
has the same disadvantages as ISA soundcards.

Given that the card is also very noisy, and if you haven't
already bought it, you should strongly opt for one of the
comparatively priced Ensoniq products.


Thomas Sailer
t.sailer@alumni.ethz.ch
