Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | Note these changes relate to Hannu's code and don't include the changes |
| 2 | made outside of this for modularising the sound |
| 3 | |
| 4 | Changelog for version 3.8o |
| 5 | -------------------------- |
| 6 | |
| 7 | Since 3.8h |
| 8 | - Included support for OPL3-SA1 and SoftOSS |
| 9 | |
| 10 | Since 3.8 |
| 11 | - Fixed SNDCTL_DSP_GETOSPACE |
| 12 | - Compatibility fixes for Linux 2.1.47 |
| 13 | |
| 14 | Since 3.8-beta21 |
| 15 | - Fixed all known bugs (I think). |
| 16 | |
| 17 | Since 3.8-beta8 |
| 18 | - Lot of fixes to audio playback code in dmabuf.c |
| 19 | |
| 20 | Since 3.8-beta6 |
| 21 | - Fixed the famous Quake delay bug. |
| 22 | |
| 23 | Since 3.8-beta5 |
| 24 | - Fixed many bugs in audio playback. |
| 25 | |
| 26 | Since 3.8-beta4 |
| 27 | - Just minor changes. |
| 28 | |
| 29 | Since 3.8-beta1 |
| 30 | - Major rewrite of audio playback handling. |
| 31 | - Added AWE32 support by Takashi Iwai (in ./lowlevel/). |
| 32 | |
| 33 | Since 3.7-beta# |
| 34 | - Passing of ioctl() parameters between soundcard.c and other modules has been |
| 35 | changed so that arg always points to kernel space. |
| 36 | - Some bugfixes. |
| 37 | |
| 38 | Since 3.7-beta5 |
| 39 | - Disabled MIDI input with GUS PnP (Interwave). There seems to be constant |
| 40 | stream of received 0x00 bytes when the MIDI receiver is enabled. |
| 41 | |
| 42 | Since 3.5 |
| 43 | - Changes almost everywhere. |
| 44 | - Support for OPTi 82C924-based sound cards. |
| 45 | |
| 46 | Since 3.5.4-beta8 |
| 47 | - Fixed a bug in handling of non-fragment sized writes in 16 bit/stereo mode |
| 48 | with GUS. |
| 49 | - Limited minimum fragment size with some audio devices (GUS=512 and |
| 50 | SB=32). These devices require more time to "recover" from processing |
| 51 | of each fragment. |
| 52 | |
| 53 | Since 3.5.4-beta6/7 |
| 54 | - There seems to be problems in the OPTi 82C930 so cards based on this |
| 55 | chip don't necessarily work yet. There are problems in detecting the |
| 56 | MIDI interface. Also mixer volumes may be seriously wrong on some systems. |
| 57 | You can safely use this driver version with C930 if it looks to work. |
| 58 | However please don't complain if you have problems with it. C930 support |
| 59 | should be fixed in future releases. |
| 60 | - Got initialization of GUS PnP to work. With this version GUS PnP should |
| 61 | work in GUS compatible mode after initialization using isapnptools. |
| 62 | - Fixed a bug in handling of full duplex cards in write only mode. This has |
| 63 | been causing "audio device opening" errors with RealAudio player. |
| 64 | |
| 65 | Since 3.5.4.beta5 |
| 66 | - Changes to OPTi 82C930 driver. |
| 67 | - Major changes to the Soundscape driver. The driver requires now just one |
| 68 | DMA channel. The extra audio/dsp device (the "Not functional" one) used |
| 69 | for code download in the earlier versions has been eliminated. There is now |
| 70 | just one /dev/dsp# device which is used both for code download and audio. |
| 71 | |
| 72 | Since 3.5.4.beta4 |
| 73 | - Minor changes. |
| 74 | |
| 75 | Since 3.5.4-beta2 |
| 76 | - Fixed silent playback with ESS 688/1688. |
| 77 | - Got SB16 to work without the 16 bit DMA channel (only the 8 bit one |
| 78 | is required for 8 and 16 bit modes). |
| 79 | - Added the "lowlevel" subdirectory for additional low level drivers that |
| 80 | are not part of USS core. See lowlevel/README for more info. |
| 81 | - Included support for ACI mixer (by Markus Kuhn). ACI is a mixer used in |
| 82 | miroPCM sound cards. See lowlevel/aci.readme for more info. |
| 83 | - Support for Aztech Washington chipset (AZT2316 ASIC). |
| 84 | |
| 85 | Since 3.5.4-beta1 |
| 86 | - Reduced clicking with AD1848. |
| 87 | - Support for OPTi 82C930. Only half duplex at this time. 16 bit playback |
| 88 | is sometimes just white noise (occurs randomly). |
| 89 | |
| 90 | Since 3.5.2 |
| 91 | - Major changes to the SB/Jazz16/ESS driver (most parts rewritten). |
| 92 | The most noticeable new feature is support for multiple SB cards at the same |
| 93 | time. |
| 94 | - Renamed sb16_midi.c to uart401.c. Also modified it to work also with |
| 95 | other MPU401 UART compatible cards than SB16/ESS/Jazz. |
| 96 | - Some changes which reduce clicking in audio playback. |
| 97 | - Copying policy is now GPL. |
| 98 | |
| 99 | Since 3.5.1 |
| 100 | - TB Maui initialization support |
| 101 | Since 3.5 |
| 102 | - Improved handling of playback underrun situations. |
| 103 | |
| 104 | Since 3.5-beta10 |
| 105 | - Bug fixing |
| 106 | |
| 107 | Since 3.5-beta9 |
| 108 | - Fixed for compatibility with Linux 1.3.70 and later. |
| 109 | - Changed boot time passing of 16 bit DMA channel number to SB driver. |
| 110 | |
| 111 | Since 3.5-beta8 |
| 112 | - Minor changes |
| 113 | |
| 114 | Since 3.5-beta7 |
| 115 | - enhancements to configure program (by Jeff Tranter): |
| 116 | - prompts are in same format as 1.3.x Linux kernel config program |
| 117 | - on-line help for each question |
| 118 | - fixed some compile warnings detected by gcc/g++ -Wall |
| 119 | - minor grammatical changes to prompts |
| 120 | |
| 121 | Since 3.5-beta6 |
| 122 | - Fixed bugs in mmap() support. |
| 123 | - Minor changes to Maui driver. |
| 124 | |
| 125 | Since 3.5-beta5 |
| 126 | - Fixed crash after recording with ESS688. It's generally a good |
| 127 | idea to stop inbound DMA transfers before freeing the memory |
| 128 | buffer. |
| 129 | - Fixed handling of AD1845 codec (for example Shuttle Sound System). |
| 130 | - Few other fixes. |
| 131 | |
| 132 | Since 3.5-beta4 |
| 133 | - Fixed bug in handling of uninitialized instruments with GUS. |
| 134 | |
| 135 | Since 3.5-beta3 |
| 136 | - Few changes which decrease popping at end/beginning of audio playback. |
| 137 | |
| 138 | Since 3.5-beta2 |
| 139 | - Removed MAD16+CS4231 hack made in previous version since it didn't |
| 140 | help. |
| 141 | - Fixed the above bug in proper way and in proper place. Many thanks |
| 142 | to James Hightower. |
| 143 | |
| 144 | Since 3.5-beta1 |
| 145 | - Bug fixes. |
| 146 | - Full duplex audio with MAD16+CS4231 may work now. The driver configures |
| 147 | SB DMA of MAD16 so that it doesn't conflict with codec's DMA channels. |
| 148 | The side effect is that all 8 bit DMA channels (0,1,3) are populated in |
| 149 | duplex mode. |
| 150 | |
| 151 | Since 3.5-alpha9 |
| 152 | - Bug fixes (mostly in Jazz16 and ESS1688/688 supports). |
| 153 | - Temporarily disabled recording with ESS1688/688 since it causes crash. |
| 154 | - Changed audio buffer partitioning algorithm so that it selects |
| 155 | smaller fragment size than earlier. This improves real time capabilities |
| 156 | of the driver and makes recording to disk to work better. Unfortunately |
| 157 | this change breaks some programs which assume that fragments cannot be |
| 158 | shorter than 4096 bytes. |
| 159 | |
| 160 | Since 3.5-alpha8 |
| 161 | - Bug fixes |
| 162 | |
| 163 | Since 3.5-alpha7 |
| 164 | - Linux kernel compatible configuration (_EXPERIMENTAL_). Enable |
| 165 | using command "cd /linux/drivers/sound;make script" and then |
| 166 | just run kernel's make config normally. |
| 167 | - Minor fixes to the SB support. Hopefully the driver works with |
| 168 | all SB models now. |
| 169 | - Added support for ESS ES1688 "AudioDrive" based cards. |
| 170 | |
| 171 | Since 3.5-alpha6 |
| 172 | - SB Pro and SB16 supports are no longer separately selectable options. |
| 173 | Enabling SB enables them too. |
| 174 | - Changed all #ifndef EXCLUDE_xx stuff to #ifdef CONFIG_xx. Modified |
| 175 | configure to handle this. |
| 176 | - Removed initialization messages from the |
| 177 | modularized version. They can be enabled by using init_trace=1 in |
| 178 | the insmod command line (insmod sound init_trace=1). |
| 179 | - More AIX stuff. |
| 180 | - Added support for synchronizing dsp/audio devices with /dev/sequencer. |
| 181 | - mmap() support for dsp/audio devices. |
| 182 | |
| 183 | Since 3.5-alpha5 |
| 184 | - AIX port. |
| 185 | - Changed some xxx_PATCH macros in soundcard.h to work with |
| 186 | big endian machines. |
| 187 | |
| 188 | Since 3.5-alpha4 |
| 189 | - Removed the 'setfx' stuff from the version distributed with kernel |
| 190 | sources. Running 'setfx' is required again. |
| 191 | |
| 192 | Since 3.5-alpha3 |
| 193 | - Moved stuff from the 'setfx' program to the AudioTrix Pro driver. |
| 194 | |
| 195 | Since 3.5-alpha2 |
| 196 | - Modifications to makefile and configure.c. Unnecessary sources |
| 197 | are no longer compiled. Newly created local.h is also copied to |
| 198 | /etc/soundconf. "make oldconfig" reads /etc/soundconf and produces |
| 199 | new local.h which is compatible with current version of the driver. |
| 200 | - Some fixes to the SB16 support. |
| 201 | - Fixed random protection fault in gus_wave.c |
| 202 | |
| 203 | Since 3.5-alpha1 |
| 204 | - Modified to work with Linux-1.3.33 and later |
| 205 | - Some minor changes |
| 206 | |
| 207 | Since 3.0.2 |
| 208 | - Support for CS4232 based PnP cards (AcerMagic S23 etc). |
| 209 | - Full duplex support for some CS4231, CS4232 and AD1845 based cards |
| 210 | (GUS MAX, AudioTrix Pro, AcerMagic S23 and many MAD16/Mozart cards |
| 211 | having a codec mentioned above). |
| 212 | - Almost fully rewritten loadable modules support. |
| 213 | - Fixed some bugs. |
| 214 | - Huge amount of testing (more testing is still required). |
| 215 | - mmap() support (works with some cards). Requires much more testing. |
| 216 | - Sample/patch/program loading for TB Maui/Tropez. No initialization |
| 217 | since TB doesn't allow me to release that code. |
| 218 | - Using CS4231 compatible codecs as timer for /dev/music. |
| 219 | |
| 220 | Since 3.0.1 |
| 221 | - Added allocation of I/O ports, DMA channels and interrupts |
| 222 | to the initialization code. This may break modules support since |
| 223 | the driver may not free some resources on unload. Should be fixed soon. |
| 224 | |
| 225 | Since 3.0 |
| 226 | - Some important bug fixes. |
| 227 | - select() for /dev/dsp and /dev/audio (Linux only). |
| 228 | (To use select() with read, you have to call read() to start |
| 229 | the recording. Calling write() kills recording immediately so |
| 230 | use select() carefully when you are writing a half duplex app. |
| 231 | Full duplex mode is not implemented yet.) Select works also with |
| 232 | /dev/sequencer and /dev/music. Maybe with /dev/midi## too. |
| 233 | |
| 234 | Since 3.0-beta2 |
| 235 | - Minor fixes. |
| 236 | - Added Readme.cards |
| 237 | |
| 238 | Since 3.0-beta1 |
| 239 | - Minor fixes to the modules support. |
| 240 | - Eliminated call to sb_free_irq() in ad1848.c |
| 241 | - Rewritten MAD16&Mozart support (not tested with MAD16 Pro). |
| 242 | - Fix to DMA initialization of PSS cards. |
| 243 | - Some fixes to ad1848/cs42xx mixer support (GUS MAX, MSS, etc.) |
| 244 | - Fixed some bugs in the PSS driver which caused I/O errors with |
| 245 | the MSS mode (/dev/dsp). |
| 246 | |
| 247 | Since 3.0-950506 |
| 248 | - Recording with GUS MAX fixed. It works when the driver is configured |
| 249 | to use two DMA channels with GUS MAX (16 bit ones recommended). |
| 250 | |
| 251 | Since 3.0-94xxxx |
| 252 | - Too many changes |
| 253 | |
| 254 | Since 3.0-940818 |
| 255 | - Fixes for Linux 1.1.4x. |
| 256 | - Disables Disney Sound System with SG NX Pro 16 (less noise). |
| 257 | |
| 258 | Since 2.90-2 |
| 259 | - Fixes to soundcard.h |
| 260 | - Non blocking mode to /dev/sequencer |
| 261 | - Experimental detection code for Ensoniq Soundscape. |
| 262 | |
| 263 | Since 2.90 |
| 264 | - Minor and major bug fixes |
| 265 | |
| 266 | Since pre-3.0-940712 |
| 267 | - GUS MAX support |
| 268 | - Partially working MSS/WSS support (could work with some cards). |
| 269 | - Hardware u-Law and A-Law support with AD1848/CS4248 and CS4231 codecs |
| 270 | (GUS MAX, GUS16, WSS etc). Hardware ADPCM is possible with GUS16 and |
| 271 | GUS MAX, but it doesn't work yet. |
| 272 | Since pre-3.0-940426 |
| 273 | - AD1848/CS4248/CS4231 codec support (MSS, GUS MAX, Aztec, Orchid etc). |
| 274 | This codec chip is used in various sound cards. This version is developed |
| 275 | for the 16 bit daughtercard of GUS. It should work with other cards also |
| 276 | if the following requirements are met: |
| 277 | - The I/O, IRQ and DMA settings are jumper selectable or |
| 278 | the card is initialized by booting DOS before booting Linux (etc.). |
| 279 | - You add the IO, IRQ and DMA settings manually to the local.h. |
| 280 | (Just define GUS16_BASE, GUS16_IRQ and GUS16_DMA). Note that |
| 281 | the base address bust be the base address of the codec chip not the |
| 282 | card itself. For the GUS16 these are the same but most MSS compatible |
| 283 | cards have the codec located at card_base+4. |
| 284 | - Some minor changes |
| 285 | |
| 286 | Since 2.5 (******* MAJOR REWRITE ***********) |
| 287 | |
| 288 | This version is based on v2.3. I have tried to maintain two versions |
| 289 | together so that this one should have the same features than v2.5. |
| 290 | Something may still be missing. If you notice such things, please let me |
| 291 | know. |
| 292 | |
| 293 | The Readme.v30 contains more details. |
| 294 | |
| 295 | - /dev/midi## devices. |
| 296 | - /dev/sequencer2 |
| 297 | |
| 298 | Since 2.5-beta2 |
| 299 | - Some fine tuning to the GUS v3.7 mixer code. |
| 300 | - Fixed speed limits for the plain SB (1.0 to 2.0). |
| 301 | |
| 302 | Since 2.5-beta |
| 303 | - Fixed OPL-3 detection with SB. Caused problems with PAS16. |
| 304 | - GUS v3.7 mixer support. |
| 305 | |
| 306 | Since 2.4 |
| 307 | - Mixer support for Sound Galaxy NX Pro (define __SGNXPRO__ on your local.h). |
| 308 | - Fixed truncated sound on /dev/dsp when the device is closed. |
| 309 | - Linear volume mode for GUS |
| 310 | - Pitch bends larger than +/- 2 octaves. |
| 311 | - MIDI recording for SB and SB Pro. (Untested). |
| 312 | - Some other fixes. |
| 313 | - SB16 MIDI and DSP drivers only initialized if SB16 actually installed. |
| 314 | - Implemented better detection for OPL-3. This should be useful if you |
| 315 | have an old SB Pro (the non-OPL-3 one) or a SB 2.0 clone which has a OPL-3. |
| 316 | - SVR4.2 support by Ian Hartas. Initial ALPHA TEST version (untested). |
| 317 | |
| 318 | Since 2.3b |
| 319 | - Fixed bug which made it impossible to make long recordings to disk. |
| 320 | Recording was not restarted after a buffer overflow situation. |
| 321 | - Limited mixer support for GUS. |
| 322 | - Numerous improvements to the GUS driver by Andrew Robinson. Including |
| 323 | some click removal etc. |
| 324 | |
| 325 | Since 2.3 |
| 326 | - Fixed some minor bugs in the SB16 driver. |
| 327 | |
| 328 | Since 2.2b |
| 329 | - Full SB16 DSP support. 8/16 bit, mono/stereo |
| 330 | - The SCO and FreeBSD versions should be in sync now. There are some |
| 331 | problems with SB16 and GUS in the FreeBSD versions. |
| 332 | The DMA buffer allocation of the SCO version has been polished but |
| 333 | there could still be some problems. At least it hogs memory. |
| 334 | The DMA channel |
| 335 | configuration method used in the SCO/System is a hack. |
| 336 | - Support for the MPU emulation of the SB16. |
| 337 | - Some big arrays are now allocated boot time. This makes the BSS segment |
| 338 | smaller which makes it possible to use the full driver with |
| 339 | NetBSD. These arrays are not allocated if no suitable sound card is available. |
| 340 | - Fixed a bug in the compute_and_set_volume in gus_wave.c |
| 341 | - Fixed the too fast mono playback problem of SB Pro and PAS16. |
| 342 | |
| 343 | Since 2.2 |
| 344 | - Stereo recording for SB Pro. Somehow it was missing and nobody |
| 345 | had noticed it earlier. |
| 346 | - Minor polishing. |
| 347 | - Interpreting of boot time arguments (sound=) for Linux. |
| 348 | - Breakup of sb_dsp.c. Parts of the code has been moved to |
| 349 | sb_mixer.c and sb_midi.c |
| 350 | |
| 351 | Since 2.1 |
| 352 | - Preliminary support for SB16. |
| 353 | - The SB16 mixer is supported in its native mode. |
| 354 | - Digitized voice capability up to 44.1 kHz/8 bit/mono |
| 355 | (16 bit and stereo support coming in the next release). |
| 356 | - Fixed some bugs in the digitized voice driver for PAS16. |
| 357 | - Proper initialization of the SB emulation of latest PAS16 models. |
| 358 | |
| 359 | - Significantly improved /dev/dsp and /dev/audio support. |
| 360 | - Now supports half duplex mode. It's now possible to record and |
| 361 | playback without closing and reopening the device. |
| 362 | - It's possible to use smaller buffers than earlier. There is a new |
| 363 | ioctl(fd, SNDCTL_DSP_SUBDIVIDE, &n) where n should be 1, 2 or 4. |
| 364 | This call instructs the driver to use smaller buffers. The default |
| 365 | buffer size (0.5 to 1.0 seconds) is divided by n. Should be called |
| 366 | immediately after opening the device. |
| 367 | |
| 368 | Since 2.0 |
| 369 | Just cosmetic changes. |