370 lines
13 KiB
Text
370 lines
13 KiB
Text
|
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.
|