| Release notes for the Linux Sound Driver 2.1 |
| ----------------------------------------------- |
| |
| This version is just version 2.0 with some kind of SB16 |
| support. The SB16 works now in 8 bit mono mode up to speed |
| 44100 Hz. Stereo recording and playback is not supported with |
| the SB16 yet. Also the 16 bit mode is missing. |
| |
| You will need the snd-util-2.0.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/*. |
| |
| If you are looking for the installation instructions, please |
| look at linux/Readme. |
| |
| Welcome to use the Gravis UltraSound driver for Linux. This |
| driver still supports the same cards than version 1.0c |
| (SoundBlaster, SB Pro, 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 |
| of the SB Pro and PAS16 cards is now supported in the 4 OP |
| modes. |
| Most of the features of the /dev/sequencer device file are |
| available just for GUS owners. |
| |
| The SoundBlaster 16 and SB 16 ASP cards are not supported. |
| They could work in mono mode with speeds < 22 kHz. |
| The OPL-3 chicp of the SB 16 should work but it doesn't. |
| |
| 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 |
| --------------------------------------- |
| |
| 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 the driver under other environments than Linux |
| ---------------------------------------------------- |
| |
| **** There is some ISC stuff in this driver. Please stay away **** |
| This stuff is here just because I want to be in sync with the porters. This |
| ports don't work yet. |
| The ISC port is by Andy Warner (andy@harris.nl). |
| |
| There FreeBSD port is by |
| There is a FreeBSD port by Jim Lowe (james@blatz.cs.uwm.edu) in the directory |
| freebsd. (Based on my 386bsd port which was in the previous release (1.99.9). |
| It's should work but it requires still some testing. It should work |
| with the NetBSD 0.9 also but propably not with the 386bsd 0.1. |
| There has been some problems with GUS in SCO and NetBSD. |
| In addition I'm preparing a SCO port myself. Yet again, these ports |
| are little incomplete and untested. It could be possible to get them to work |
| with finite amount of hacking but be careful. |
| |
| New features |
| ------------ |
| |
| There is also some changes which make this version more usable than |
| the version 1.0c. |
| |
| - /dev/dsp and /dev/audio |
| |
| The DMA buffering is now little bit more intelligent than earlier. The |
| buffer size is selected run-time so that a buffer holds data for 0.5 to |
| 1.0 seconds of recording or playback. This makes recording more comfortable |
| than with version 1.0. With the previous version there was sometimes more |
| than 10 seconds of delay before the driver returned the first input byte. |
| |
| There is also support for more than one digitized voice devices. The device |
| files /dev/dsp1 and /dev/audio1 (minor 19 and 20) are available with PAS16. |
| The /dev/dsp (/dev/audio) is connected to the PCM circuit of the PAS16 itself |
| and the /dev/dsp1 (/dev/audio1) to the SB emulation of PAS16 card. Two |
| dsp/audio devices are available also if you have combination of SB and GUS. |
| With GUS and PAS16 you will have even three dsp/audio devices. These devices |
| can be used independently and can be active at the same time (3 channels |
| at the same time propably don't work). |
| |
| The dsp/audio support of PAS16 should be much cleaner now since the |
| constant clicking sound between the DMA blocks (about once per second) has |
| been eliminated. |
| |
| The stereo playback of GUS doesn't work perfectly. There is lot of |
| clicking in the output. |
| |
| - /dev/mixer |
| |
| No changes. |
| |
| There is no mixer for the GUS yet. |
| |
| - /dev/sequencer |
| |
| This part has the most changes. Mostly to support the rich |
| features of the Gravis UltraSound. There is also the support |
| for the OPL-3 synthesizer chip. |
| |
| - /dev/sndstat |
| |
| 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 |
| |
| Major number: 14 |
| 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 |
| ---------- |
| |
| - There was clicking during stereo playback to /dev/dsp with GUS. |
| * Fixed in 1.99.9 * |
| - 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. |
| - 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. Try to avoid |
| switching between VTs while patches are being loaded to the GUS. |
| - There was some problems with GUS and Mitsumi CD in version 1.99.8. Fixed |
| in 1.99.9. |
| - /dev/audio sounded like stereo with GUS. Fixed in 1.99.9. |
| - There is a skeleton of the patch manager support. It don't work in |
| this version. |
| |
| |
| Future development |
| ------------------ |
| |
| - The SB16 card should be fully supported some day. The SDK for it is |
| not available yet so it's not possible to implement the 16 bit mode yet. |
| - 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 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 |
| |
| Regards, |
| |
| Hannu Savolainen |
| hsavolai@cs.helsinki.fi |
| |
| Snail mail: Hannu Savolainen |
| Pallaksentie 4 A 2 |
| 00970 Helsinki |
| Finland |