home *** CD-ROM | disk | FTP | other *** search
/ Il CD di internet / CD.iso / SOURCE / KERNEL-S / V1.0 / LINUX-1.0 / LINUX-1 / linux / drivers / sound / Readme < prev    next >
Encoding:
Text File  |  1994-01-21  |  9.0 KB  |  243 lines

  1. Release notes for the Linux Sound Driver 2.4
  2. --------------------------------------------
  3.  
  4. NOTE!    The sound driver is a part of the Linux kernel distribution also.
  5.     Check that your kernel doesn't have more recent version than this
  6.     when installing a separately distributed sound driver. The
  7.     version number of this driver is defined in the makefile.
  8.  
  9. This version contains a driver for the SB16 also.
  10. The SB16 driver requires separate DMA channels for the 8 and 16 bit
  11. modes. There should be a way to share the 8 bit DMA channels between
  12. these modes but this feature is not supported yet.
  13. The SB16 DSP support is by Joerg Schubert (jsb@sth.ruhr-uni-bochum.de).
  14.  
  15. The SB16 driver has also the Midi input capability even at the same
  16. time with the /dev/dsp. Also the WaveBlaster daughter board is supported.
  17. No support for the ASP chip yet (the ASP chip can be installed but it's
  18. not used by the driver).
  19.  
  20. You will need the snd-util-2.4.tar.gz and snd-data-0.1.tar.Z
  21. packages to use this driver. They should be in the same
  22. ftp site or BBS from where you got this driver. For
  23. example at nic.funet.fi:pub/OS/Linux/*.
  24.  
  25. There is a new version of the tracker program available (tracker-3_19.lzh) but
  26. I don't know where it is available. The tracker 3.10 has bugs and it don't work
  27. without some fixes. Look at the README of the snd-util-2.3.
  28.  
  29. If you are looking for the installation instructions, please
  30. look at linux/Readme.
  31.  
  32. This version supports the following soundcards:
  33. GUS, SoundBlaster, SB Pro, SB16, Pro Audio Spectrum 16 and AdLib.
  34. In addition there is rather limited support for MPU-401.
  35. (and compatible) midi cards. Also the OPL-3 synthesizer
  36. Most of the features of the /dev/sequencer device file are
  37. available just for GUS owners. 
  38.  
  39. NOTE!    There are separate driver for CD-ROMS supported by
  40.     some soundcards. The driver for CDU31A (Fusion 16) is
  41.     called cdu31a-0.6.diff.z. It will be contained in the
  42.     Linux version 0.99.12. The driver for the CD-ROM of SB Pro
  43.     is sbpcd0.4.tar.gz (these were the latest versions when I wrote
  44.     this). These files should be at least at sunsite.unc.edu.
  45.     Also the SCSI interface of the PAS16 should be supported by
  46.     Linux 0.99.13k and later.
  47.  
  48.     There is also a driver for joystick. Look for file joystick-0.5.tar.gz
  49.     (sunsite).
  50.  
  51.  
  52. Compatibility with the earlier versions
  53. ---------------------------------------
  54.  
  55. In this version the ultrasound.h no longer includes the sys/soundcard.h
  56. You have to change the gmod.c of the snd-util-2.0 package and to add an
  57. include for it.
  58.  
  59. IMPORTANT!!!!!!!!!!!!!!!!!!!!!!
  60.  
  61. This version is not binary or source compatible with the version 1.0c.
  62.  
  63. The ioctl() interface has changed completely since version 1.0c. All
  64. programs using this driver must be at least recompiled. 
  65. The snd-util-2.0 package contains some utilities for this version.
  66.  
  67. The version 1.0c and earlier used a 'nonportable' ioctl calling scheme
  68. where the input argument was passed by value and the output value was
  69. returned as the functional return. For example setting the speed of
  70. /dev/dsp were done as the following:
  71.  
  72.     int actual_speed;
  73.     actual_speed = ioctl(fd, SOUND_PCM_WRITE_RATE, 44100);
  74.  
  75. After version 1.99.0 this must be done as the following:
  76.  
  77.     int actual_speed = 44100;
  78.     ioctl(fd, SOUND_PCM_WRITE_RATE, &actual_speed);
  79.  
  80. If you have an application written for the version 1.0, you should search
  81. for the strings SNDCTL_ and SOUND_ and to check the parameters. 
  82. The following ioctl calls have changed:
  83.  
  84.     SNDCTL_SEQ_GETOUTCOUNT
  85.     SNDCTL_SEQ_GETINCOUNT
  86.     SNDCTL_SEQ_TESTMIDI
  87.     SNDCTL_DSP_SPEED
  88.     SNDCTL_DSP_STEREO
  89.     SNDCTL_DSP_GETBLKSIZE
  90.     SNDCTL_DSP_SAMPLESIZE
  91.     SOUND_PCM_WRITE_CHANNELS
  92.     SOUND_PCM_WRITE_FILTER
  93.     SOUND_PCM_READ_RATE
  94.     SOUND_PCM_READ_CHANNELS
  95.     SOUND_PCM_READ_BITS
  96.     SOUND_PCM_READ_FILTER
  97.     SOUND_PCM_WRITE_BITS
  98.     SOUND_PCM_WRITE_RATE
  99.     SOUND_MIXER_READ_*    (several ones)
  100.     SOUND_MIXER_WRITE_*    (several ones)
  101.  
  102. Since the this version will support more than one synthesizer devices
  103. at the same time, the ioctl(SNDCTL_FM_LOAD_INSTR) is obsolete. In addition
  104. there is some new fields which must be initialized. Look at the sbiset.c in
  105. the snd-util-2.0 package for further info.
  106.  
  107. This version is almost 100% compatible with the alpha test version (1.99.9). The
  108. difference is in the installation procedure.
  109.  
  110. Using this driver with other operating systems than Linux
  111. ---------------------------------------------------------
  112.  
  113. This package contains just the Linux version. The version 2.3
  114. for SCO is available at nic.funet.fi:pub/OS/Linux/ALPHA/sound.
  115. The version 2.3 doesn't work well with xxxxxBSD. Use the version
  116. 2.3 for them.
  117.  
  118. /dev/sndstat
  119. ------------
  120.  
  121. The /dev/sndstat is now available in the SCO and BSD versions also.
  122.  
  123. This is a new devicefile for debugging purposes. A better place for
  124. it is in the /proc -directory but I was just too lazy to implement it
  125. properly. The /dev/sndstat (major 14, minor 6) is a file which returns
  126. info about the current configuration (see the example below). If you
  127. send me a error/problem report, please include a printout from this 
  128. device to your message (cat /dev/sndstat).
  129.  
  130. Note!    This device file is currently present only in the Linux version
  131.     of this driver.
  132.  
  133. ------ cut here --- cat /dev/sndstat example --------
  134. Sound Driver:1.99.7 (Fri Jul 9 17:01:47 GMT 1993 root@lucifer.savolai.fi)
  135. Config options: 0x00000d4b
  136.  
  137. HW config: 
  138. Type 4: Gravis Ultrasound  at 0x210 irq 15 drq 6
  139. Type 3: ProAudioSpectrum  at 0x388 irq 10 drq 3
  140. Type 2: SoundBlaster  at 0x220 irq 7 drq 1
  141. Type 1: AdLib  at 0x388 irq 0 drq 0
  142.  
  143. PCM devices:
  144. 00: Gravis UltraSound
  145. 01: Pro Audio Spectrum
  146. 02: SoundBlaster 2.0
  147.  
  148. Synth devices:
  149. 00: Gravis UltraSound
  150. 01: Yamaha OPL-3
  151.  
  152. Midi devices:
  153. 00: Gravis UltraSound
  154. 01: Pro Audio Spectrum
  155.  
  156. Mixer(s) installed
  157. ------ cut here ---- End of Example -----------
  158.  
  159. Known bugs/limitations
  160. ----------------------
  161.  
  162. - High speed recording of long audio samples (>20 second) to disk
  163.   is not possible. Everything works until next sync() which delays the
  164.   recording process too much. A delay longer than 0.1 to 0.3 seconds is
  165.   too much.
  166. - The SB16 driver sometimes swaps the left and right channels together.
  167. - Midi input doesn't work with SB and SB Pro (SB16 works).
  168. - It's not possible to open /dev/dsp (or /dev/audio) while the 
  169.   /dev/sequencer is open for output and GUS is the only soundcard
  170.   installed. It's possible if /dev/dsp is opened before /dev/sequencer
  171.   but at this time the GUS is not available for access via /dev/sequencer.
  172.   This is a limitation of the driver.
  173. - MPU-401 driver hangs the computer on boot if there is no MPU-401 installed.
  174.   It uses by default the I/O port 0x330 whic is used by Adaptec 1542 SCSI
  175.   adapter.
  176. - There are some problems in midi input with MPU-401 and the SB16 midi
  177.   (MPU-401 emulation). This makes it impossible to read long sysex dumps
  178.   using these devices.
  179. - The /dev/sequencer playback to GUS sounds sometimes rather weird. Hitting
  180.   ^C and playing again should solve this problem. This is propably caused by
  181.   incompatibilities between GUS and certain VLB motherboards (like mine). 
  182.   Try to avoid
  183.   switching between VTs while patches are being loaded to the GUS.
  184.   This problem disappears completely if you define GUS_PATCH_NO_DMA in the
  185.   local.h (after make config in linux). The drawback is that patch loading
  186.   without DMA takes several times longer than with DMA.
  187. - There is a skeleton of the patch manager support. It don't work in
  188.   this version. 
  189.  
  190.  
  191. Future development
  192. ------------------
  193.  
  194. - Since this driver is no longer just the Linux Sound Driver, it's time
  195.   to give it a new name. I have planned to use name VoxWare.
  196. - I'm writing a Hacker's guide to the VoxWare sound driver. Should
  197.   be ready within this(/next) year (alpha version).
  198. - Completion of the ISC, SCO and BSD ports. Port to SVR4.2.
  199. - I'm interested to implement/include support for new soundcards and 
  200.   operating systems. 
  201.  
  202.   Hint for the soundcard and OS manufacturers:
  203.   I'm collecting soundcards (high end ones) and SDKs for them. In
  204.   addition I'm collecting PC operating systems. I will be happy if
  205.   somebody sends me such items. In addition such kind of donation
  206.   makes it easier to change the VoxWare driver to support your
  207.   soundcard or operating system. However, please contact me before
  208.   sending anything.
  209.  
  210. I will propably release some fix versions within this and next year. At
  211. least when the non-Linux versions get ready. The next major release (3.0)
  212. will be quite complete rewrite and released after about a year (end of 94 or
  213. beginning of 95).
  214.  
  215.  
  216. Contributors
  217. ------------
  218.  
  219. This driver contains code by several contributors. In addition several other
  220. persons have given usefull suggestions. The following is a list of major
  221. contributors. (I could have forgotten some names.)
  222.  
  223.     Craig Metz    1/2 of the PAS16 Mixer and PCM support
  224.     Rob Hooft    Volume computation algorithm for the FM synth.
  225.     Mika Liljeberg    uLaw encoding and decoding routines
  226.     Greg Lee    Volume computation algorithm for the GUS and
  227.             lot's of valuable suggestions.
  228.     Andy Warner    ISC port
  229.     Jim Lowe    FreeBSD port
  230.     Anders Baekgaard     Bughunting and valuable suggestions.
  231.     Joerg Schubert    SB16 DSP support.
  232.     Andrew Robinson Improvements to the GUS driver
  233.  
  234. Regards,
  235.  
  236. Hannu Savolainen
  237. hsavolai@cs.helsinki.fi
  238.  
  239. Snail mail:    Hannu Savolainen
  240.         Pallaksentie 4 A 2
  241.         00970 Helsinki
  242.         Finland
  243.