home *** CD-ROM | disk | FTP | other *** search
- Release notes for the Linux Sound Driver 2.4
- --------------------------------------------
-
- NOTE! The sound driver is a part of the Linux kernel distribution also.
- Check that your kernel doesn't have more recent version than this
- when installing a separately distributed sound driver. The
- version number of this driver is defined in the makefile.
-
- This version contains a driver for the SB16 also.
- The SB16 driver requires separate DMA channels for the 8 and 16 bit
- modes. There should be a way to share the 8 bit DMA channels between
- these modes but this feature is not supported yet.
- The SB16 DSP support is by Joerg Schubert (jsb@sth.ruhr-uni-bochum.de).
-
- The SB16 driver has also the Midi input capability even at the same
- time with the /dev/dsp. Also the WaveBlaster daughter board is supported.
- No support for the ASP chip yet (the ASP chip can be installed but it's
- not used by the driver).
-
- You will need the snd-util-2.4.tar.gz and snd-data-0.1.tar.Z
- packages to use this driver. They should be in the same
- ftp site or BBS from where you got this driver. For
- example at nic.funet.fi:pub/OS/Linux/*.
-
- There is a new version of the tracker program available (tracker-3_19.lzh) but
- I don't know where it is available. The tracker 3.10 has bugs and it don't work
- without some fixes. Look at the README of the snd-util-2.3.
-
- If you are looking for the installation instructions, please
- look at linux/Readme.
-
- This version supports the following soundcards:
- GUS, SoundBlaster, SB Pro, SB16, Pro Audio Spectrum 16 and AdLib.
- In addition there is rather limited support for MPU-401.
- (and compatible) midi cards. Also the OPL-3 synthesizer
- Most of the features of the /dev/sequencer device file are
- available just for GUS owners.
-
- NOTE! There are separate driver for CD-ROMS supported by
- some soundcards. The driver for CDU31A (Fusion 16) is
- called cdu31a-0.6.diff.z. It will be contained in the
- Linux version 0.99.12. The driver for the CD-ROM of SB Pro
- is sbpcd0.4.tar.gz (these were the latest versions when I wrote
- this). These files should be at least at sunsite.unc.edu.
- Also the SCSI interface of the PAS16 should be supported by
- Linux 0.99.13k and later.
-
- There is also a driver for joystick. Look for file joystick-0.5.tar.gz
- (sunsite).
-
-
- Compatibility with the earlier versions
- ---------------------------------------
-
- In this version the ultrasound.h no longer includes the sys/soundcard.h
- You have to change the gmod.c of the snd-util-2.0 package and to add an
- include for it.
-
- IMPORTANT!!!!!!!!!!!!!!!!!!!!!!
-
- This version is not binary or source compatible with the version 1.0c.
-
- The ioctl() interface has changed completely since version 1.0c. All
- programs using this driver must be at least recompiled.
- The snd-util-2.0 package contains some utilities for this version.
-
- The version 1.0c and earlier used a 'nonportable' ioctl calling scheme
- where the input argument was passed by value and the output value was
- returned as the functional return. For example setting the speed of
- /dev/dsp were done as the following:
-
- int actual_speed;
- actual_speed = ioctl(fd, SOUND_PCM_WRITE_RATE, 44100);
-
- After version 1.99.0 this must be done as the following:
-
- int actual_speed = 44100;
- ioctl(fd, SOUND_PCM_WRITE_RATE, &actual_speed);
-
- If you have an application written for the version 1.0, you should search
- for the strings SNDCTL_ and SOUND_ and to check the parameters.
- The following ioctl calls have changed:
-
- SNDCTL_SEQ_GETOUTCOUNT
- SNDCTL_SEQ_GETINCOUNT
- SNDCTL_SEQ_TESTMIDI
- SNDCTL_DSP_SPEED
- SNDCTL_DSP_STEREO
- SNDCTL_DSP_GETBLKSIZE
- SNDCTL_DSP_SAMPLESIZE
- SOUND_PCM_WRITE_CHANNELS
- SOUND_PCM_WRITE_FILTER
- SOUND_PCM_READ_RATE
- SOUND_PCM_READ_CHANNELS
- SOUND_PCM_READ_BITS
- SOUND_PCM_READ_FILTER
- SOUND_PCM_WRITE_BITS
- SOUND_PCM_WRITE_RATE
- SOUND_MIXER_READ_* (several ones)
- SOUND_MIXER_WRITE_* (several ones)
-
- Since the this version will support more than one synthesizer devices
- at the same time, the ioctl(SNDCTL_FM_LOAD_INSTR) is obsolete. In addition
- there is some new fields which must be initialized. Look at the sbiset.c in
- the snd-util-2.0 package for further info.
-
- This version is almost 100% compatible with the alpha test version (1.99.9). The
- difference is in the installation procedure.
-
- Using this driver with other operating systems than Linux
- ---------------------------------------------------------
-
- This package contains just the Linux version. The version 2.3
- for SCO is available at nic.funet.fi:pub/OS/Linux/ALPHA/sound.
- The version 2.3 doesn't work well with xxxxxBSD. Use the version
- 2.3 for them.
-
- /dev/sndstat
- ------------
-
- The /dev/sndstat is now available in the SCO and BSD versions also.
-
- This is a new devicefile for debugging purposes. A better place for
- it is in the /proc -directory but I was just too lazy to implement it
- properly. The /dev/sndstat (major 14, minor 6) is a file which returns
- info about the current configuration (see the example below). If you
- send me a error/problem report, please include a printout from this
- device to your message (cat /dev/sndstat).
-
- Note! This device file is currently present only in the Linux version
- of this driver.
-
- ------ cut here --- cat /dev/sndstat example --------
- Sound Driver:1.99.7 (Fri Jul 9 17:01:47 GMT 1993 root@lucifer.savolai.fi)
- Config options: 0x00000d4b
-
- HW config:
- Type 4: Gravis Ultrasound at 0x210 irq 15 drq 6
- Type 3: ProAudioSpectrum at 0x388 irq 10 drq 3
- Type 2: SoundBlaster at 0x220 irq 7 drq 1
- Type 1: AdLib at 0x388 irq 0 drq 0
-
- PCM devices:
- 00: Gravis UltraSound
- 01: Pro Audio Spectrum
- 02: SoundBlaster 2.0
-
- Synth devices:
- 00: Gravis UltraSound
- 01: Yamaha OPL-3
-
- Midi devices:
- 00: Gravis UltraSound
- 01: Pro Audio Spectrum
-
- Mixer(s) installed
- ------ cut here ---- End of Example -----------
-
- Known bugs/limitations
- ----------------------
-
- - High speed recording of long audio samples (>20 second) to disk
- is not possible. Everything works until next sync() which delays the
- recording process too much. A delay longer than 0.1 to 0.3 seconds is
- too much.
- - The SB16 driver sometimes swaps the left and right channels together.
- - Midi input doesn't work with SB and SB Pro (SB16 works).
- - It's not possible to open /dev/dsp (or /dev/audio) while the
- /dev/sequencer is open for output and GUS is the only soundcard
- installed. It's possible if /dev/dsp is opened before /dev/sequencer
- but at this time the GUS is not available for access via /dev/sequencer.
- This is a limitation of the driver.
- - MPU-401 driver hangs the computer on boot if there is no MPU-401 installed.
- It uses by default the I/O port 0x330 whic is used by Adaptec 1542 SCSI
- adapter.
- - There are some problems in midi input with MPU-401 and the SB16 midi
- (MPU-401 emulation). This makes it impossible to read long sysex dumps
- using these devices.
- - The /dev/sequencer playback to GUS sounds sometimes rather weird. Hitting
- ^C and playing again should solve this problem. This is propably caused by
- incompatibilities between GUS and certain VLB motherboards (like mine).
- Try to avoid
- switching between VTs while patches are being loaded to the GUS.
- This problem disappears completely if you define GUS_PATCH_NO_DMA in the
- local.h (after make config in linux). The drawback is that patch loading
- without DMA takes several times longer than with DMA.
- - There is a skeleton of the patch manager support. It don't work in
- this version.
-
-
- Future development
- ------------------
-
- - Since this driver is no longer just the Linux Sound Driver, it's time
- to give it a new name. I have planned to use name VoxWare.
- - I'm writing a Hacker's guide to the VoxWare sound driver. Should
- be ready within this(/next) year (alpha version).
- - Completion of the ISC, SCO and BSD ports. Port to SVR4.2.
- - I'm interested to implement/include support for new soundcards and
- operating systems.
-
- Hint for the soundcard and OS manufacturers:
- I'm collecting soundcards (high end ones) and SDKs for them. In
- addition I'm collecting PC operating systems. I will be happy if
- somebody sends me such items. In addition such kind of donation
- makes it easier to change the VoxWare driver to support your
- soundcard or operating system. However, please contact me before
- sending anything.
-
- I will propably release some fix versions within this and next year. At
- least when the non-Linux versions get ready. The next major release (3.0)
- will be quite complete rewrite and released after about a year (end of 94 or
- beginning of 95).
-
-
- Contributors
- ------------
-
- This driver contains code by several contributors. In addition several other
- persons have given usefull suggestions. The following is a list of major
- contributors. (I could have forgotten some names.)
-
- Craig Metz 1/2 of the PAS16 Mixer and PCM support
- Rob Hooft Volume computation algorithm for the FM synth.
- Mika Liljeberg uLaw encoding and decoding routines
- Greg Lee Volume computation algorithm for the GUS and
- lot's of valuable suggestions.
- Andy Warner ISC port
- Jim Lowe FreeBSD port
- Anders Baekgaard Bughunting and valuable suggestions.
- Joerg Schubert SB16 DSP support.
- Andrew Robinson Improvements to the GUS driver
-
- Regards,
-
- Hannu Savolainen
- hsavolai@cs.helsinki.fi
-
- Snail mail: Hannu Savolainen
- Pallaksentie 4 A 2
- 00970 Helsinki
- Finland
-