123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370 |
- Note these changes relate to Hannu's code and don't include the changes
- made outside of this for modularising the sound
- Changelog for version 3.8o
- --------------------------
- Since 3.8h
- - Included support for OPL3-SA1 and SoftOSS
- Since 3.8
- - Fixed SNDCTL_DSP_GETOSPACE
- - Compatibility fixes for Linux 2.1.47
- Since 3.8-beta21
- - Fixed all known bugs (I think).
- Since 3.8-beta8
- - Lot of fixes to audio playback code in dmabuf.c
- Since 3.8-beta6
- - Fixed the famous Quake delay bug.
- Since 3.8-beta5
- - Fixed many bugs in audio playback.
- Since 3.8-beta4
- - Just minor changes.
- Since 3.8-beta1
- - Major rewrite of audio playback handling.
- - Added AWE32 support by Takashi Iwai (in ./lowlevel/).
- Since 3.7-beta#
- - Passing of ioctl() parameters between soundcard.c and other modules has been
- changed so that arg always points to kernel space.
- - Some bugfixes.
- Since 3.7-beta5
- - Disabled MIDI input with GUS PnP (Interwave). There seems to be constant
- stream of received 0x00 bytes when the MIDI receiver is enabled.
- Since 3.5
- - Changes almost everywhere.
- - Support for OPTi 82C924-based sound cards.
- Since 3.5.4-beta8
- - Fixed a bug in handling of non-fragment sized writes in 16 bit/stereo mode
- with GUS.
- - Limited minimum fragment size with some audio devices (GUS=512 and
- SB=32). These devices require more time to "recover" from processing
- of each fragment.
- Since 3.5.4-beta6/7
- - There seems to be problems in the OPTi 82C930 so cards based on this
- chip don't necessarily work yet. There are problems in detecting the
- MIDI interface. Also mixer volumes may be seriously wrong on some systems.
- You can safely use this driver version with C930 if it looks to work.
- However please don't complain if you have problems with it. C930 support
- should be fixed in future releases.
- - Got initialization of GUS PnP to work. With this version GUS PnP should
- work in GUS compatible mode after initialization using isapnptools.
- - Fixed a bug in handling of full duplex cards in write only mode. This has
- been causing "audio device opening" errors with RealAudio player.
- Since 3.5.4.beta5
- - Changes to OPTi 82C930 driver.
- - Major changes to the Soundscape driver. The driver requires now just one
- DMA channel. The extra audio/dsp device (the "Not functional" one) used
- for code download in the earlier versions has been eliminated. There is now
- just one /dev/dsp# device which is used both for code download and audio.
- Since 3.5.4.beta4
- - Minor changes.
- Since 3.5.4-beta2
- - Fixed silent playback with ESS 688/1688.
- - Got SB16 to work without the 16 bit DMA channel (only the 8 bit one
- is required for 8 and 16 bit modes).
- - Added the "lowlevel" subdirectory for additional low level drivers that
- are not part of USS core. See lowlevel/README for more info.
- - Included support for ACI mixer (by Markus Kuhn). ACI is a mixer used in
- miroPCM sound cards. See lowlevel/aci.readme for more info.
- - Support for Aztech Washington chipset (AZT2316 ASIC).
- Since 3.5.4-beta1
- - Reduced clicking with AD1848.
- - Support for OPTi 82C930. Only half duplex at this time. 16 bit playback
- is sometimes just white noise (occurs randomly).
- Since 3.5.2
- - Major changes to the SB/Jazz16/ESS driver (most parts rewritten).
- The most noticeable new feature is support for multiple SB cards at the same
- time.
- - Renamed sb16_midi.c to uart401.c. Also modified it to work also with
- other MPU401 UART compatible cards than SB16/ESS/Jazz.
- - Some changes which reduce clicking in audio playback.
- - Copying policy is now GPL.
- Since 3.5.1
- - TB Maui initialization support
- Since 3.5
- - Improved handling of playback underrun situations.
- Since 3.5-beta10
- - Bug fixing
- Since 3.5-beta9
- - Fixed for compatibility with Linux 1.3.70 and later.
- - Changed boot time passing of 16 bit DMA channel number to SB driver.
- Since 3.5-beta8
- - Minor changes
- Since 3.5-beta7
- - enhancements to configure program (by Jeff Tranter):
- - prompts are in same format as 1.3.x Linux kernel config program
- - on-line help for each question
- - fixed some compile warnings detected by gcc/g++ -Wall
- - minor grammatical changes to prompts
- Since 3.5-beta6
- - Fixed bugs in mmap() support.
- - Minor changes to Maui driver.
- Since 3.5-beta5
- - Fixed crash after recording with ESS688. It's generally a good
- idea to stop inbound DMA transfers before freeing the memory
- buffer.
- - Fixed handling of AD1845 codec (for example Shuttle Sound System).
- - Few other fixes.
- Since 3.5-beta4
- - Fixed bug in handling of uninitialized instruments with GUS.
- Since 3.5-beta3
- - Few changes which decrease popping at end/beginning of audio playback.
- Since 3.5-beta2
- - Removed MAD16+CS4231 hack made in previous version since it didn't
- help.
- - Fixed the above bug in proper way and in proper place. Many thanks
- to James Hightower.
- Since 3.5-beta1
- - Bug fixes.
- - Full duplex audio with MAD16+CS4231 may work now. The driver configures
- SB DMA of MAD16 so that it doesn't conflict with codec's DMA channels.
- The side effect is that all 8 bit DMA channels (0,1,3) are populated in
- duplex mode.
- Since 3.5-alpha9
- - Bug fixes (mostly in Jazz16 and ESS1688/688 supports).
- - Temporarily disabled recording with ESS1688/688 since it causes crash.
- - Changed audio buffer partitioning algorithm so that it selects
- smaller fragment size than earlier. This improves real time capabilities
- of the driver and makes recording to disk to work better. Unfortunately
- this change breaks some programs which assume that fragments cannot be
- shorter than 4096 bytes.
- Since 3.5-alpha8
- - Bug fixes
- Since 3.5-alpha7
- - Linux kernel compatible configuration (_EXPERIMENTAL_). Enable
- using command "cd /linux/drivers/sound;make script" and then
- just run kernel's make config normally.
- - Minor fixes to the SB support. Hopefully the driver works with
- all SB models now.
- - Added support for ESS ES1688 "AudioDrive" based cards.
- Since 3.5-alpha6
- - SB Pro and SB16 supports are no longer separately selectable options.
- Enabling SB enables them too.
- - Changed all #ifndef EXCLUDE_xx stuff to #ifdef CONFIG_xx. Modified
- configure to handle this.
- - Removed initialization messages from the
- modularized version. They can be enabled by using init_trace=1 in
- the insmod command line (insmod sound init_trace=1).
- - More AIX stuff.
- - Added support for synchronizing dsp/audio devices with /dev/sequencer.
- - mmap() support for dsp/audio devices.
- Since 3.5-alpha5
- - AIX port.
- - Changed some xxx_PATCH macros in soundcard.h to work with
- big endian machines.
- Since 3.5-alpha4
- - Removed the 'setfx' stuff from the version distributed with kernel
- sources. Running 'setfx' is required again.
- Since 3.5-alpha3
- - Moved stuff from the 'setfx' program to the AudioTrix Pro driver.
- Since 3.5-alpha2
- - Modifications to makefile and configure.c. Unnecessary sources
- are no longer compiled. Newly created local.h is also copied to
- /etc/soundconf. "make oldconfig" reads /etc/soundconf and produces
- new local.h which is compatible with current version of the driver.
- - Some fixes to the SB16 support.
- - Fixed random protection fault in gus_wave.c
- Since 3.5-alpha1
- - Modified to work with Linux-1.3.33 and later
- - Some minor changes
- Since 3.0.2
- - Support for CS4232 based PnP cards (AcerMagic S23 etc).
- - Full duplex support for some CS4231, CS4232 and AD1845 based cards
- (GUS MAX, AudioTrix Pro, AcerMagic S23 and many MAD16/Mozart cards
- having a codec mentioned above).
- - Almost fully rewritten loadable modules support.
- - Fixed some bugs.
- - Huge amount of testing (more testing is still required).
- - mmap() support (works with some cards). Requires much more testing.
- - Sample/patch/program loading for TB Maui/Tropez. No initialization
- since TB doesn't allow me to release that code.
- - Using CS4231 compatible codecs as timer for /dev/music.
- Since 3.0.1
- - Added allocation of I/O ports, DMA channels and interrupts
- to the initialization code. This may break modules support since
- the driver may not free some resources on unload. Should be fixed soon.
- Since 3.0
- - Some important bug fixes.
- - select() for /dev/dsp and /dev/audio (Linux only).
- (To use select() with read, you have to call read() to start
- the recording. Calling write() kills recording immediately so
- use select() carefully when you are writing a half duplex app.
- Full duplex mode is not implemented yet.) Select works also with
- /dev/sequencer and /dev/music. Maybe with /dev/midi## too.
- Since 3.0-beta2
- - Minor fixes.
- - Added Readme.cards
- Since 3.0-beta1
- - Minor fixes to the modules support.
- - Eliminated call to sb_free_irq() in ad1848.c
- - Rewritten MAD16&Mozart support (not tested with MAD16 Pro).
- - Fix to DMA initialization of PSS cards.
- - Some fixes to ad1848/cs42xx mixer support (GUS MAX, MSS, etc.)
- - Fixed some bugs in the PSS driver which caused I/O errors with
- the MSS mode (/dev/dsp).
- Since 3.0-950506
- - Recording with GUS MAX fixed. It works when the driver is configured
- to use two DMA channels with GUS MAX (16 bit ones recommended).
- Since 3.0-94xxxx
- - Too many changes
- Since 3.0-940818
- - Fixes for Linux 1.1.4x.
- - Disables Disney Sound System with SG NX Pro 16 (less noise).
- Since 2.90-2
- - Fixes to soundcard.h
- - Non blocking mode to /dev/sequencer
- - Experimental detection code for Ensoniq Soundscape.
- Since 2.90
- - Minor and major bug fixes
- Since pre-3.0-940712
- - GUS MAX support
- - Partially working MSS/WSS support (could work with some cards).
- - Hardware u-Law and A-Law support with AD1848/CS4248 and CS4231 codecs
- (GUS MAX, GUS16, WSS etc). Hardware ADPCM is possible with GUS16 and
- GUS MAX, but it doesn't work yet.
- Since pre-3.0-940426
- - AD1848/CS4248/CS4231 codec support (MSS, GUS MAX, Aztec, Orchid etc).
- This codec chip is used in various sound cards. This version is developed
- for the 16 bit daughtercard of GUS. It should work with other cards also
- if the following requirements are met:
- - The I/O, IRQ and DMA settings are jumper selectable or
- the card is initialized by booting DOS before booting Linux (etc.).
- - You add the IO, IRQ and DMA settings manually to the local.h.
- (Just define GUS16_BASE, GUS16_IRQ and GUS16_DMA). Note that
- the base address bust be the base address of the codec chip not the
- card itself. For the GUS16 these are the same but most MSS compatible
- cards have the codec located at card_base+4.
- - Some minor changes
- Since 2.5 (******* MAJOR REWRITE ***********)
- This version is based on v2.3. I have tried to maintain two versions
- together so that this one should have the same features than v2.5.
- Something may still be missing. If you notice such things, please let me
- know.
- The Readme.v30 contains more details.
- - /dev/midi## devices.
- - /dev/sequencer2
- Since 2.5-beta2
- - Some fine tuning to the GUS v3.7 mixer code.
- - Fixed speed limits for the plain SB (1.0 to 2.0).
- Since 2.5-beta
- - Fixed OPL-3 detection with SB. Caused problems with PAS16.
- - GUS v3.7 mixer support.
- Since 2.4
- - Mixer support for Sound Galaxy NX Pro (define __SGNXPRO__ on your local.h).
- - Fixed truncated sound on /dev/dsp when the device is closed.
- - Linear volume mode for GUS
- - Pitch bends larger than +/- 2 octaves.
- - MIDI recording for SB and SB Pro. (Untested).
- - Some other fixes.
- - SB16 MIDI and DSP drivers only initialized if SB16 actually installed.
- - Implemented better detection for OPL-3. This should be useful if you
- have an old SB Pro (the non-OPL-3 one) or a SB 2.0 clone which has a OPL-3.
- - SVR4.2 support by Ian Hartas. Initial ALPHA TEST version (untested).
- Since 2.3b
- - Fixed bug which made it impossible to make long recordings to disk.
- Recording was not restarted after a buffer overflow situation.
- - Limited mixer support for GUS.
- - Numerous improvements to the GUS driver by Andrew Robinson. Including
- some click removal etc.
- Since 2.3
- - Fixed some minor bugs in the SB16 driver.
- Since 2.2b
- - Full SB16 DSP support. 8/16 bit, mono/stereo
- - The SCO and FreeBSD versions should be in sync now. There are some
- problems with SB16 and GUS in the FreeBSD versions.
- The DMA buffer allocation of the SCO version has been polished but
- there could still be some problems. At least it hogs memory.
- The DMA channel
- configuration method used in the SCO/System is a hack.
- - Support for the MPU emulation of the SB16.
- - Some big arrays are now allocated boot time. This makes the BSS segment
- smaller which makes it possible to use the full driver with
- NetBSD. These arrays are not allocated if no suitable sound card is available.
- - Fixed a bug in the compute_and_set_volume in gus_wave.c
- - Fixed the too fast mono playback problem of SB Pro and PAS16.
- Since 2.2
- - Stereo recording for SB Pro. Somehow it was missing and nobody
- had noticed it earlier.
- - Minor polishing.
- - Interpreting of boot time arguments (sound=) for Linux.
- - Breakup of sb_dsp.c. Parts of the code has been moved to
- sb_mixer.c and sb_midi.c
- Since 2.1
- - Preliminary support for SB16.
- - The SB16 mixer is supported in its native mode.
- - Digitized voice capability up to 44.1 kHz/8 bit/mono
- (16 bit and stereo support coming in the next release).
- - Fixed some bugs in the digitized voice driver for PAS16.
- - Proper initialization of the SB emulation of latest PAS16 models.
- - Significantly improved /dev/dsp and /dev/audio support.
- - Now supports half duplex mode. It's now possible to record and
- playback without closing and reopening the device.
- - It's possible to use smaller buffers than earlier. There is a new
- ioctl(fd, SNDCTL_DSP_SUBDIVIDE, &n) where n should be 1, 2 or 4.
- This call instructs the driver to use smaller buffers. The default
- buffer size (0.5 to 1.0 seconds) is divided by n. Should be called
- immediately after opening the device.
- Since 2.0
- Just cosmetic changes.
|