| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | Recording | 
|  | 2 | --------- | 
|  | 3 |  | 
|  | 4 | Recording does not work on the author's card, but there | 
|  | 5 | is at least one report of it working on later silicon. | 
|  | 6 | The chip behaves differently than described in the data sheet, | 
|  | 7 | likely due to a chip bug. Working around this would require | 
|  | 8 | the help of ESS (for example by publishing an errata sheet), | 
|  | 9 | but ESS has not done so so far. | 
|  | 10 |  | 
|  | 11 | Also, the chip only supports 24 bit addresses for recording, | 
|  | 12 | which means it cannot work on some Alpha mainboards. | 
|  | 13 |  | 
|  | 14 |  | 
|  | 15 | /proc/sound, /dev/sndstat | 
|  | 16 | ------------------------- | 
|  | 17 |  | 
|  | 18 | /proc/sound and /dev/sndstat is not supported by the | 
|  | 19 | driver. To find out whether the driver succeeded loading, | 
|  | 20 | check the kernel log (dmesg). | 
|  | 21 |  | 
|  | 22 |  | 
|  | 23 | ALaw/uLaw sample formats | 
|  | 24 | ------------------------ | 
|  | 25 |  | 
|  | 26 | This driver does not support the ALaw/uLaw sample formats. | 
|  | 27 | ALaw is the default mode when opening a sound device | 
|  | 28 | using OSS/Free. The reason for the lack of support is | 
|  | 29 | that the hardware does not support these formats, and adding | 
|  | 30 | conversion routines to the kernel would lead to very ugly | 
|  | 31 | code in the presence of the mmap interface to the driver. | 
|  | 32 | And since xquake uses mmap, mmap is considered important :-) | 
|  | 33 | and no sane application uses ALaw/uLaw these days anyway. | 
|  | 34 | In short, playing a Sun .au file as follows: | 
|  | 35 |  | 
|  | 36 | cat my_file.au > /dev/dsp | 
|  | 37 |  | 
|  | 38 | does not work. Instead, you may use the play script from | 
|  | 39 | Chris Bagwell's sox-12.14 package (or later, available from the URL | 
|  | 40 | below) to play many different audio file formats. | 
|  | 41 | The script automatically determines the audio format | 
|  | 42 | and does do audio conversions if necessary. | 
|  | 43 | http://home.sprynet.com/sprynet/cbagwell/projects.html | 
|  | 44 |  | 
|  | 45 |  | 
|  | 46 | Blocking vs. nonblocking IO | 
|  | 47 | --------------------------- | 
|  | 48 |  | 
|  | 49 | Unlike OSS/Free this driver honours the O_NONBLOCK file flag | 
|  | 50 | not only during open, but also during read and write. | 
|  | 51 | This is an effort to make the sound driver interface more | 
|  | 52 | regular. Timidity has problems with this; a patch | 
|  | 53 | is available from http://www.ife.ee.ethz.ch/~sailer/linux/pciaudio.html. | 
|  | 54 | (Timidity patched will also run on OSS/Free). | 
|  | 55 |  | 
|  | 56 |  | 
|  | 57 | MIDI UART | 
|  | 58 | --------- | 
|  | 59 |  | 
|  | 60 | The driver supports a simple MIDI UART interface, with | 
|  | 61 | no ioctl's supported. | 
|  | 62 |  | 
|  | 63 |  | 
|  | 64 | MIDI synthesizer | 
|  | 65 | ---------------- | 
|  | 66 |  | 
|  | 67 | The card has an OPL compatible FM synthesizer. | 
|  | 68 |  | 
|  | 69 | Thomas Sailer | 
|  | 70 | t.sailer@alumni.ethz.ch |