home *** CD-ROM | disk | FTP | other *** search
-
- Sound Blaster(tm) Driver
- (Copyright 1991, Brian Smith)
-
-
- REQUIREMENTS
-
- This driver and the associated user programs require a 386/486 system
- running System V 3.2 Unix. It has been tested on ISC Unix versions
- 2.0.2 through 2.2.1. I believe it will work correctly on Esix, Intel,
- and AT&T Unix. SCO is a mystery to me (as well as many others). I do
- not believe it will work in SysV 4.0 and above, but the modifications
- should be fairly minimal. Remember, though, THERE IS NO WARRANTY.
-
-
- GENERAL INFORMATION
-
- This driver is for the Sound Blaster sound card designed by Creative
- Labs, Incorporated. The Sound Blaster is a sound card for the
- IBM-PC(tm) type I/O bus. The card is capable of sampling sound from a
- microphone jack from 4KHz to 23KHz (or 24KHz, depending upon which
- portion of the manual you believe) at 8 raw bits of resolution. It is
- also capable of playing samples at speeds from 4KHz up to 12KHz. The
- board can play raw 8 bit samples, or 2 bit, 2.6 bit, or 4 bit ADPCM
- packed samples. ADCPM is a lossy method of data compression. The
- sampling and output may be directly driven by the CPU, or it may be
- driven by DMA. The card is also capable of playing music through an
- on-board FM synthesizer chip. The chip may play 9 simultaneous
- instruments, or it can play 6 simultaneous voices with 5 additional
- rhythm instruments. In addition, the board (but NOT my driver) also
- supports the addition of 2 C/MS chips. For more information, read the
- advertising blurb, errr... manual which comes with the Sound Blaster.
-
- The driver is capable of utilizing only a subset of the capabilities
- of the Sound Blaster card. The driver is accessed through three
- device nodes.
-
- The /dev/sbdsp node accesses the DSP chip which controls sampling and
- sample playback. Only 8-bit sound is supported thus far. The driver
- utilizes DMA, and therefore is very unobtrusive to the system load.
- The ls utility is harder upon the system. Read(2) and write(2) upon
- /dev/sbdsp sample sound and play back sound samples, respectively.
- Several ioctl(2)'s control sampling/playback speed, resets, etc...
- The play_snd utility demonstrates the use of the /dev/sbdsp node.
-
- The /dev/sbfm node accesses the FM chips. The only access to the FM
- chips are through ioctl(2)'s. The play_cmf utility demonstrates the
- use of the FM chips by (mostly) interpreting and playing CMF files.
- The various options controlling the voices can be dumped from a CMF
- file by the get_instruments utility. Those familiar with synthesizers
- can then learn how to create their own instruments. I can't provide
- direct documentation, as I believe that would be a violation of
- Creative Lab's copyrights. Those having questions, send me e-mail. I
- think it would be OK to answer questions.
-
- The /dev/sbcms node accesses absolutely nothing. I do not have the
- C/MS chips with which to experiment.
-
- This driver is merely the rough outlines of what it could be. Support
- could be added for oodles of features, like efficiency improvements, and
- ADCPM interpretion for the /dev/sbdsp node. If you wish to add to this
- driver, please be my guest (after reading the license file). When you
- have patches, send those to me. I will then integrate, do rudimentary
- testing, and send the patches to Usenet. That way, there won't be
- billions of versions of this driver to contend with.
-
- I am not requiring donations to my, no doubt worthy cause, however,
- they are willingly accepted. :-) They will help me in future
- projects, and if there are enough requests (loudness does not count),
- I will continue work on this driver and write more software to use
- it.
-