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