Release notes for the Linux Sound Driver 1.99.9 ----------------------------------------------- ******** THIS IS A BETA TEST RELEASE ******** which means that there can be some untested things. In theory there is a risk that this driver causes some trouble to your system. You should not use this driver before backing up your disks. 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 (without problems?). Is there anybody willing to implement the SB 16 support (have the SB 16 and the SDK for it)? This is the first version of the driver which has almost all of the features which I have planned to include into version 2.0. Some features are still missing and some ones doesn't work. 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. As far as I know, there is no driver for the SCSI interface of PAS16 (yet). There is also a driver for joystick. Look for file joystick-0.5.tar.gz (sunsite). Since this driver is a sound driver, it will not contain support for SCSI/CD-ROM/Joystick -devices. Compatibility with the earlier versions --------------------------------------- This is just like the version 1.99.7/1.99.8. There is just some minor enhancements. Most of them are portability fixes. If you are porting this driver to any OS, please look at the 386bsd/os.h. There is some new macros and some macros have more parameters. In addition this file contains some usefull comments. **** There is some ISC and 386bsd stuff in this driver. Please stay away **** This stuff is here just because I want to be in sync with the porters. These ports don't work yet. The ioctl() interface has changed completely since version 1.0c. All programs using this driver must be at least recompiled. The snd-util-1.99.6 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. 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-1.99.6 package for further info. The GUS patch format has changed since the version 1.99.3. You have to use latest versions of the programs in the sound/gustest directory. In addition the version 0.4g of the Adagio package supports this format. 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). ------ 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.