CHANGELOG 13 KB

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