Initial import from FreeBSD RELENG_4:
[dragonfly.git] / sys / platform / pc32 / isa / sound / CHANGELOG
1 Changelog for version 3.5-alpha7
2 --------------------------------
3
4 Since 3.5-alpha6
5 - Changed all #ifndef EXCLUDE_xx stuff to #ifdef CONFIG_xx. Modified
6 configure to handle this. 
7 - Removed initialization messages from the
8 modularized version. They can be enabled by using init_trace=1 in
9 the insmod command line (insmod sound init_trace=1).
10 - More AIX stuff.
11 - Added support for syncronizing dsp/audio devices with /dev/sequencer.
12 - mmap() support for dsp/audio devices.
13
14 Since 3.5-alpha5
15 - AIX port.
16 - Changed some xxx_PATCH macros in soundcard.h to work with
17   big endian machines.
18
19 Since 3.5-alpha4
20 - Removed the 'setfx' stuff from the version distributed with kernel
21   sources.
22
23 Since 3.5-alpha3
24 - Moved stuff from the 'setfx' program to the AudioTriX Pro driver.
25
26 Since 3.5-alpha2
27 - Modifications to makefile and configure.c. Unnecessary sources
28   are no longer compiled. Newly created local.h is also copied to
29   /etc/soundconf. "make oldconfig" reads /etc/soundconf and produces
30   new local.h which is compatible with current version of the driver.
31 - Some fixes to the SB16 support.
32 - Fixed random protection fault in gus_wave.c
33
34 Since 3.5-alpha1
35 - Modified to work with Linux-1.3.33 and leater
36 - Some minor changes
37
38 Since 3.0.2
39 - Support for CS4232 based PnP cards (AcerMagic S23 etc).
40 - Full duplex support for some CS4231, CS4232 and AD1845 based cards
41 (GUA MAX, AudioTrix Pro, AcerMagic S23 and many MAD16/Mozart cards
42 having a codec mentioned above).
43 - Almost fully rewritten loadable modules support.
44 - Fixed some bugs.
45 - Huge amount of testing (more testing is still required).
46 - mmap() support (works with some cards). Requires much more testing.
47 - Sample/patch/program loading for TB Maui/Tropez. No initialization
48 since TB doesn't allow me to release that code.
49 - Using CS4231 compatible codecs as timer for /dev/music.
50
51 Since 3.0.1
52 - Added allocation of I/O ports, DMA channels and interrupts
53 to the initialization code. This may break modules support since
54 the driver may not free some resources on unload. Should be fixed soon.
55
56 Since 3.0
57 - Some important bug fixes. 
58 - select() for /dev/dsp and /dev/audio (Linux only).
59 (To use select() with read, you have to call read() to start
60 the recording. Calling write() kills recording immediately so
61 use select() carefully when you are writing a half duplex app.
62 Full duplex mode is not implemented yet.) Select works also with
63 /dev/sequencer and /dev/music. Maybe with /dev/midi## too.
64
65 Since 3.0-beta2
66 - Minor fixes.
67 - Added Readme.cards
68
69 Since 3.0-beta1
70 - Minor fixes to the modules support.
71 - Eliminated call to sb_free_irq() in ad1848.c
72 - Rewritten MAD16&Mozart support (not tested with MAD16 Pro).
73 - Fix to DMA initialization of PSS cards.
74 - Some fixes to ad1848/cs42xx mixer support (GUS MAX, MSS, etc.)
75 - Fixed some bugs in the PSS driver which caused I/O errors with
76   the MSS mode (/dev/dsp).
77
78 Since 3.0-950506
79 - Recording with GUS MAX fixed. It works when the driver is configured
80   to use two DMA channels with GUS MAX (16 bit ones recommended).
81
82 Since 3.0-94xxxx
83 - Too many changes
84
85 Since 3.0-940818
86 - Fixes for Linux 1.1.4x.
87 - Disables Disney Sound System with SG NX Pro 16 (less noise).
88
89 Since 2.90-2
90 - Fixes to soundcard.h
91 - Non blocking mode to /dev/sequencer
92 - Experimental detection code for Ensoniq Soundscape.
93
94 Since 2.90
95 - Minor and major bug fixes
96
97 Since pre-3.0-940712
98 - GUS MAX support
99 - Partially working MSS/WSS support (could work with some cards).
100 - Hardware u-Law and A-Law support with AD1848/CS4248 and CS4231 codecs
101   (GUS MAX, GUS16, WSS etc). Hardware ADPCM is possible with GUS16 and
102   GUS MAX, but it doesn't work yet.
103 Since pre-3.0-940426
104 - AD1848/CS4248/CS4231 codec support (MSS, GUS MAX, Aztec, Orchid etc).
105 This codec chip is used in various soundcards. This version is developed
106 for the 16 bit daughtercard of GUS. It should work with other cards also
107 if the following requirements are met:
108         - The I/O, IRQ and DMA settings are jumper selectable or
109         the card is initialized by booting DOS before booting Linux (etc.).
110         - You add the IO, IRQ and DMA settings manually to the local.h.
111           (Just define GUS16_BASE, GUS16_IRQ and GUS16_DMA). Note that
112         the base address bust be the base address of the codec chip not the
113         card itself. For the GUS16 these are the same but most MSS compatible
114         cards have the codec located at card_base+4.
115 - Some minor changes
116
117 Since 2.5 (******* MAJOR REWRITE ***********)
118
119 This version is based on v2.3. I have tried to maintain two versions
120 together so that this one should have the same features than v2.5.
121 Something may still be missing. If you notice such things, please let me
122 know.
123
124 The Readme.v30 contains more details.
125
126 - /dev/midi## devices.
127 - /dev/sequencer2
128
129 Since 2.5-beta2
130 - Some fine tuning to the GUS v3.7 mixer code.
131 - Fixed speed limits for the plain SB (1.0 to 2.0).
132
133 Since 2.5-beta
134 - Fixed OPL-3 detection with SB. Caused problems with PAS16.
135 - GUS v3.7 mixer support.
136
137 Since 2.4
138 - Mixer support for Sound Galaxy NX Pro (define __SGNXPRO__ on your local.h).
139 - Fixed truncated sound on /dev/dsp when the device is closed.
140 - Linear volume mode for GUS
141 - Pitch bends larger than +/- 2 octaves.
142 - MIDI recording for SB and SB Pro. (Untested).
143 - Some other fixes.
144 - SB16 MIDI and DSP drivers only initialized if SB16 actually installed.
145 - Implemented better detection for OPL-3. This should be useful if you
146   have an old SB Pro (the non-OPL-3 one) or a SB 2.0 clone which has a OPL-3.
147 - SVR4.2 support by Ian Hartas. Initial ALPHA TEST version (untested).
148
149 Since 2.3b
150 - Fixed bug which made it impossible to make long recordings to disk.
151   Recording was not restarted after a buffer overflow situation.
152 - Limited mixer support for GUS.
153 - Numerous improvements to the GUS driver by Andrew Robinson. Including
154   some click removal etc.
155
156 Since 2.3
157 - Fixed some minor bugs in the SB16 driver.
158
159 Since 2.2b
160 - Full SB16 DSP support. 8/16 bit, mono/stereo
161 - The SCO and FreeBSD versions should be in sync now. There are some
162   problems with SB16 and GUS in the freebsd versions.
163   The DMA buffer allocation of the SCO version has been polished but
164   there could still be some problems. At least it hogs memory.
165   The DMA channel
166   configuration method used in the sco/System is a hack.
167 - Support for the MPU emulation of the SB16.
168 - Some big arrays are now allocated boot time. This makes the bss segment
169   smaller which makes it possible to use the full driver with
170   NetBSD. These arrays are not allocated if no suitable soundcard is available.
171 - Fixed a bug in the compute_and_set_volume in gus_wave.c
172 - Fixed the too fast mono playback problem of SB Pro and PAS16.
173
174 Since 2.2
175 - Stereo recording for SB Pro. Somehow it was missing and nobody
176   had noticed it earlier.
177 - Minor polishing.
178 - Interpreting of boot time arguments (sound=) for Linux.
179 - Breakup of sb_dsp.c. Parts of the code has been moved to
180   sb_mixer.c and sb_midi.c
181
182 Since 2.1
183 - Preliminary support for SB16. 
184   - The SB16 mixer is supported in its native mode.
185   - Digitized voice capability up to 44.1 kHz/8 bit/mono
186     (16 bit and stereo support coming in the next release).
187 - Fixed some bugs in the digitized voice driver for PAS16.
188 - Proper initialization of the SB emulation of latest PAS16 models.
189
190 - Significantly improved /dev/dsp and /dev/audio support.
191   - Now supports half duplex mode. It's now possible to record and
192     playback without closing and reopening the device.
193   - It's possible to use smaller buffers than earlier. There is a new
194     ioctl(fd, SNDCTL_DSP_SUBDIVIDE, &n) where n should be 1, 2 or 4.
195     This call instructs the driver to use smaller buffers. The default
196     buffer size (0.5 to 1.0 seconds) is divided by n. Should be called
197     immediately after opening the device.
198
199 Since 2.0
200 Just cosmetic changes.