18c2ecf20Sopenharmony_ci===========================================
28c2ecf20Sopenharmony_ciSound Blaster Live mixer / default DSP code
38c2ecf20Sopenharmony_ci===========================================
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciThe EMU10K1 chips have a DSP part which can be programmed to support
78c2ecf20Sopenharmony_civarious ways of sample processing, which is described here.
88c2ecf20Sopenharmony_ci(This article does not deal with the overall functionality of the 
98c2ecf20Sopenharmony_ciEMU10K1 chips. See the manuals section for further details.)
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciThe ALSA driver programs this portion of chip by default code
128c2ecf20Sopenharmony_ci(can be altered later) which offers the following functionality:
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciIEC958 (S/PDIF) raw PCM
168c2ecf20Sopenharmony_ci=======================
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciThis PCM device (it's the 4th PCM device (index 3!) and first subdevice
198c2ecf20Sopenharmony_ci(index 0) for a given card) allows to forward 48kHz, stereo, 16-bit
208c2ecf20Sopenharmony_cilittle endian streams without any modifications to the digital output
218c2ecf20Sopenharmony_ci(coaxial or optical). The universal interface allows the creation of up
228c2ecf20Sopenharmony_cito 8 raw PCM devices operating at 48kHz, 16-bit little endian. It would
238c2ecf20Sopenharmony_cibe easy to add support for multichannel devices to the current code,
248c2ecf20Sopenharmony_cibut the conversion routines exist only for stereo (2-channel streams)
258c2ecf20Sopenharmony_ciat the time. 
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciLook to tram_poke routines in lowlevel/emu10k1/emufx.c for more details.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciDigital mixer controls
318c2ecf20Sopenharmony_ci======================
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ciThese controls are built using the DSP instructions. They offer extended
348c2ecf20Sopenharmony_cifunctionality. Only the default build-in code in the ALSA driver is described
358c2ecf20Sopenharmony_cihere. Note that the controls work as attenuators: the maximum value is the 
368c2ecf20Sopenharmony_cineutral position leaving the signal unchanged. Note that if the  same destination 
378c2ecf20Sopenharmony_ciis mentioned in multiple controls, the signal is accumulated and can be wrapped 
388c2ecf20Sopenharmony_ci(set to maximal or minimal value without checking of overflow).
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ciExplanation of used abbreviations:
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ciDAC
448c2ecf20Sopenharmony_ci	digital to analog converter
458c2ecf20Sopenharmony_ciADC
468c2ecf20Sopenharmony_ci	analog to digital converter
478c2ecf20Sopenharmony_ciI2S
488c2ecf20Sopenharmony_ci	one-way three wire serial bus for digital sound by Philips Semiconductors
498c2ecf20Sopenharmony_ci        (this standard is used for connecting standalone DAC and ADC converters)
508c2ecf20Sopenharmony_ciLFE
518c2ecf20Sopenharmony_ci	low frequency effects (subwoofer signal)
528c2ecf20Sopenharmony_ciAC97
538c2ecf20Sopenharmony_ci	a chip containing an analog mixer, DAC and ADC converters
548c2ecf20Sopenharmony_ciIEC958
558c2ecf20Sopenharmony_ci	S/PDIF
568c2ecf20Sopenharmony_ciFX-bus
578c2ecf20Sopenharmony_ci	the EMU10K1 chip has an effect bus containing 16 accumulators.
588c2ecf20Sopenharmony_ci	Each of the synthesizer voices can feed its output to these accumulators
598c2ecf20Sopenharmony_ci	and the DSP microcontroller can operate with the resulting sum.
608c2ecf20Sopenharmony_ci
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci``name='Wave Playback Volume',index=0``
638c2ecf20Sopenharmony_ci---------------------------------------
648c2ecf20Sopenharmony_ciThis control is used to attenuate samples for left and right PCM FX-bus
658c2ecf20Sopenharmony_ciaccumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
668c2ecf20Sopenharmony_ciThe result samples are forwarded to the front DAC PCM slots of the AC97 codec.
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci``name='Wave Surround Playback Volume',index=0``
698c2ecf20Sopenharmony_ci------------------------------------------------
708c2ecf20Sopenharmony_ciThis control is used to attenuate samples for left and right PCM FX-bus
718c2ecf20Sopenharmony_ciaccumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
728c2ecf20Sopenharmony_ciThe result samples are forwarded to the rear I2S DACs. These DACs operates
738c2ecf20Sopenharmony_ciseparately (they are not inside the AC97 codec).
748c2ecf20Sopenharmony_ci
758c2ecf20Sopenharmony_ci``name='Wave Center Playback Volume',index=0``
768c2ecf20Sopenharmony_ci----------------------------------------------
778c2ecf20Sopenharmony_ciThis control is used to attenuate samples for left and right PCM FX-bus
788c2ecf20Sopenharmony_ciaccumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
798c2ecf20Sopenharmony_ciThe result is mixed to mono signal (single channel) and forwarded to
808c2ecf20Sopenharmony_cithe ??rear?? right DAC PCM slot of the AC97 codec.
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci``name='Wave LFE Playback Volume',index=0``
838c2ecf20Sopenharmony_ci-------------------------------------------
848c2ecf20Sopenharmony_ciThis control is used to attenuate samples for left and right PCM FX-bus
858c2ecf20Sopenharmony_ciaccumulators. ALSA uses accumulators 0 and 1 for left and right PCM.
868c2ecf20Sopenharmony_ciThe result is mixed to mono signal (single channel) and forwarded to
878c2ecf20Sopenharmony_cithe ??rear?? left DAC PCM slot of the AC97 codec.
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci``name='Wave Capture Volume',index=0``, ``name='Wave Capture Switch',index=0``
908c2ecf20Sopenharmony_ci------------------------------------------------------------------------------
918c2ecf20Sopenharmony_ciThese controls are used to attenuate samples for left and right PCM FX-bus
928c2ecf20Sopenharmony_ciaccumulator. ALSA uses accumulators 0 and 1 for left and right PCM.
938c2ecf20Sopenharmony_ciThe result is forwarded to the ADC capture FIFO (thus to the standard capture
948c2ecf20Sopenharmony_ciPCM device).
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci``name='Synth Playback Volume',index=0``
978c2ecf20Sopenharmony_ci----------------------------------------
988c2ecf20Sopenharmony_ciThis control is used to attenuate samples for left and right MIDI FX-bus
998c2ecf20Sopenharmony_ciaccumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
1008c2ecf20Sopenharmony_ciThe result samples are forwarded to the front DAC PCM slots of the AC97 codec.
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ci``name='Synth Capture Volume',index=0``, ``name='Synth Capture Switch',index=0``
1038c2ecf20Sopenharmony_ci--------------------------------------------------------------------------------
1048c2ecf20Sopenharmony_ciThese controls are used to attenuate samples for left and right MIDI FX-bus
1058c2ecf20Sopenharmony_ciaccumulator. ALSA uses accumulators 4 and 5 for left and right PCM.
1068c2ecf20Sopenharmony_ciThe result is forwarded to the ADC capture FIFO (thus to the standard capture
1078c2ecf20Sopenharmony_ciPCM device).
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci``name='Surround Playback Volume',index=0``
1108c2ecf20Sopenharmony_ci-------------------------------------------
1118c2ecf20Sopenharmony_ciThis control is used to attenuate samples for left and right rear PCM FX-bus
1128c2ecf20Sopenharmony_ciaccumulators. ALSA uses accumulators 2 and 3 for left and right rear PCM samples.
1138c2ecf20Sopenharmony_ciThe result samples are forwarded to the rear I2S DACs. These DACs operate
1148c2ecf20Sopenharmony_ciseparately (they are not inside the AC97 codec).
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci``name='Surround Capture Volume',index=0``, ``name='Surround Capture Switch',index=0``
1178c2ecf20Sopenharmony_ci--------------------------------------------------------------------------------------
1188c2ecf20Sopenharmony_ciThese controls are used to attenuate samples for left and right rear PCM FX-bus
1198c2ecf20Sopenharmony_ciaccumulators. ALSA uses accumulators 2 and 3 for left and right rear PCM samples.
1208c2ecf20Sopenharmony_ciThe result is forwarded to the ADC capture FIFO (thus to the standard capture
1218c2ecf20Sopenharmony_ciPCM device).
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci``name='Center Playback Volume',index=0``
1248c2ecf20Sopenharmony_ci-----------------------------------------
1258c2ecf20Sopenharmony_ciThis control is used to attenuate sample for center PCM FX-bus accumulator.
1268c2ecf20Sopenharmony_ciALSA uses accumulator 6 for center PCM sample. The result sample is forwarded
1278c2ecf20Sopenharmony_cito the ??rear?? right DAC PCM slot of the AC97 codec.
1288c2ecf20Sopenharmony_ci
1298c2ecf20Sopenharmony_ci``name='LFE Playback Volume',index=0``
1308c2ecf20Sopenharmony_ci--------------------------------------
1318c2ecf20Sopenharmony_ciThis control is used to attenuate sample for center PCM FX-bus accumulator.
1328c2ecf20Sopenharmony_ciALSA uses accumulator 6 for center PCM sample. The result sample is forwarded
1338c2ecf20Sopenharmony_cito the ??rear?? left DAC PCM slot of the AC97 codec.
1348c2ecf20Sopenharmony_ci
1358c2ecf20Sopenharmony_ci``name='AC97 Playback Volume',index=0``
1368c2ecf20Sopenharmony_ci---------------------------------------
1378c2ecf20Sopenharmony_ciThis control is used to attenuate samples for left and right front ADC PCM slots
1388c2ecf20Sopenharmony_ciof the AC97 codec. The result samples are forwarded to the front DAC PCM
1398c2ecf20Sopenharmony_cislots of the AC97 codec.
1408c2ecf20Sopenharmony_ci
1418c2ecf20Sopenharmony_ci.. note::
1428c2ecf20Sopenharmony_ci  This control should be zero for the standard operations, otherwise
1438c2ecf20Sopenharmony_ci  a digital loopback is activated.
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci``name='AC97 Capture Volume',index=0``
1478c2ecf20Sopenharmony_ci--------------------------------------
1488c2ecf20Sopenharmony_ciThis control is used to attenuate samples for left and right front ADC PCM slots
1498c2ecf20Sopenharmony_ciof the AC97 codec. The result is forwarded to the ADC capture FIFO (thus to
1508c2ecf20Sopenharmony_cithe standard capture PCM device).
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ci.. note::
1538c2ecf20Sopenharmony_ci   This control should be 100 (maximal value), otherwise no analog
1548c2ecf20Sopenharmony_ci   inputs of the AC97 codec can be captured (recorded).
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci``name='IEC958 TTL Playback Volume',index=0``
1578c2ecf20Sopenharmony_ci---------------------------------------------
1588c2ecf20Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 TTL
1598c2ecf20Sopenharmony_cidigital inputs (usually used by a CDROM drive). The result samples are
1608c2ecf20Sopenharmony_ciforwarded to the front DAC PCM slots of the AC97 codec.
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ci``name='IEC958 TTL Capture Volume',index=0``
1638c2ecf20Sopenharmony_ci--------------------------------------------
1648c2ecf20Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 TTL
1658c2ecf20Sopenharmony_cidigital inputs (usually used by a CDROM drive). The result samples are
1668c2ecf20Sopenharmony_ciforwarded to the ADC capture FIFO (thus to the standard capture PCM device).
1678c2ecf20Sopenharmony_ci
1688c2ecf20Sopenharmony_ci``name='Zoom Video Playback Volume',index=0``
1698c2ecf20Sopenharmony_ci---------------------------------------------
1708c2ecf20Sopenharmony_ciThis control is used to attenuate samples from left and right zoom video
1718c2ecf20Sopenharmony_cidigital inputs (usually used by a CDROM drive). The result samples are
1728c2ecf20Sopenharmony_ciforwarded to the front DAC PCM slots of the AC97 codec.
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci``name='Zoom Video Capture Volume',index=0``
1758c2ecf20Sopenharmony_ci--------------------------------------------
1768c2ecf20Sopenharmony_ciThis control is used to attenuate samples from left and right zoom video
1778c2ecf20Sopenharmony_cidigital inputs (usually used by a CDROM drive). The result samples are
1788c2ecf20Sopenharmony_ciforwarded to the ADC capture FIFO (thus to the standard capture PCM device).
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ci``name='IEC958 LiveDrive Playback Volume',index=0``
1818c2ecf20Sopenharmony_ci---------------------------------------------------
1828c2ecf20Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 optical
1838c2ecf20Sopenharmony_cidigital input. The result samples are forwarded to the front DAC PCM slots
1848c2ecf20Sopenharmony_ciof the AC97 codec.
1858c2ecf20Sopenharmony_ci
1868c2ecf20Sopenharmony_ci``name='IEC958 LiveDrive Capture Volume',index=0``
1878c2ecf20Sopenharmony_ci--------------------------------------------------
1888c2ecf20Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 optical
1898c2ecf20Sopenharmony_cidigital inputs. The result samples are forwarded to the ADC capture FIFO
1908c2ecf20Sopenharmony_ci(thus to the standard capture PCM device).
1918c2ecf20Sopenharmony_ci
1928c2ecf20Sopenharmony_ci``name='IEC958 Coaxial Playback Volume',index=0``
1938c2ecf20Sopenharmony_ci-------------------------------------------------
1948c2ecf20Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 coaxial
1958c2ecf20Sopenharmony_cidigital inputs. The result samples are forwarded to the front DAC PCM slots
1968c2ecf20Sopenharmony_ciof the AC97 codec.
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_ci``name='IEC958 Coaxial Capture Volume',index=0``
1998c2ecf20Sopenharmony_ci------------------------------------------------
2008c2ecf20Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 coaxial
2018c2ecf20Sopenharmony_cidigital inputs. The result samples are forwarded to the ADC capture FIFO
2028c2ecf20Sopenharmony_ci(thus to the standard capture PCM device).
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci``name='Line LiveDrive Playback Volume',index=0``, ``name='Line LiveDrive Playback Volume',index=1``
2058c2ecf20Sopenharmony_ci----------------------------------------------------------------------------------------------------
2068c2ecf20Sopenharmony_ciThis control is used to attenuate samples from left and right I2S ADC
2078c2ecf20Sopenharmony_ciinputs (on the LiveDrive). The result samples are forwarded to the front
2088c2ecf20Sopenharmony_ciDAC PCM slots of the AC97 codec.
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ci``name='Line LiveDrive Capture Volume',index=1``, ``name='Line LiveDrive Capture Volume',index=1``
2118c2ecf20Sopenharmony_ci--------------------------------------------------------------------------------------------------
2128c2ecf20Sopenharmony_ciThis control is used to attenuate samples from left and right I2S ADC
2138c2ecf20Sopenharmony_ciinputs (on the LiveDrive). The result samples are forwarded to the ADC
2148c2ecf20Sopenharmony_cicapture FIFO (thus to the standard capture PCM device).
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci``name='Tone Control - Switch',index=0``
2178c2ecf20Sopenharmony_ci----------------------------------------
2188c2ecf20Sopenharmony_ciThis control turns the tone control on or off. The samples for front, rear
2198c2ecf20Sopenharmony_ciand center / LFE outputs are affected.
2208c2ecf20Sopenharmony_ci
2218c2ecf20Sopenharmony_ci``name='Tone Control - Bass',index=0``
2228c2ecf20Sopenharmony_ci--------------------------------------
2238c2ecf20Sopenharmony_ciThis control sets the bass intensity. There is no neutral value!!
2248c2ecf20Sopenharmony_ciWhen the tone control code is activated, the samples are always modified.
2258c2ecf20Sopenharmony_ciThe closest value to pure signal is 20.
2268c2ecf20Sopenharmony_ci
2278c2ecf20Sopenharmony_ci``name='Tone Control - Treble',index=0``
2288c2ecf20Sopenharmony_ci----------------------------------------
2298c2ecf20Sopenharmony_ciThis control sets the treble intensity. There is no neutral value!!
2308c2ecf20Sopenharmony_ciWhen the tone control code is activated, the samples are always modified.
2318c2ecf20Sopenharmony_ciThe closest value to pure signal is 20.
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_ci``name='IEC958 Optical Raw Playback Switch',index=0``
2348c2ecf20Sopenharmony_ci-----------------------------------------------------
2358c2ecf20Sopenharmony_ciIf this switch is on, then the samples for the IEC958 (S/PDIF) digital
2368c2ecf20Sopenharmony_cioutput are taken only from the raw FX8010 PCM, otherwise standard front
2378c2ecf20Sopenharmony_ciPCM samples are taken.
2388c2ecf20Sopenharmony_ci
2398c2ecf20Sopenharmony_ci``name='Headphone Playback Volume',index=1``
2408c2ecf20Sopenharmony_ci--------------------------------------------
2418c2ecf20Sopenharmony_ciThis control attenuates the samples for the headphone output.
2428c2ecf20Sopenharmony_ci
2438c2ecf20Sopenharmony_ci``name='Headphone Center Playback Switch',index=1``
2448c2ecf20Sopenharmony_ci---------------------------------------------------
2458c2ecf20Sopenharmony_ciIf this switch is on, then the sample for the center PCM is put to the
2468c2ecf20Sopenharmony_cileft headphone output (useful for SB Live cards without separate center/LFE
2478c2ecf20Sopenharmony_cioutput).
2488c2ecf20Sopenharmony_ci
2498c2ecf20Sopenharmony_ci``name='Headphone LFE Playback Switch',index=1``
2508c2ecf20Sopenharmony_ci------------------------------------------------
2518c2ecf20Sopenharmony_ciIf this switch is on, then the sample for the center PCM is put to the
2528c2ecf20Sopenharmony_ciright headphone output (useful for SB Live cards without separate center/LFE
2538c2ecf20Sopenharmony_cioutput).
2548c2ecf20Sopenharmony_ci
2558c2ecf20Sopenharmony_ci
2568c2ecf20Sopenharmony_ciPCM stream related controls
2578c2ecf20Sopenharmony_ci===========================
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ci``name='EMU10K1 PCM Volume',index 0-31``
2608c2ecf20Sopenharmony_ci----------------------------------------
2618c2ecf20Sopenharmony_ciChannel volume attenuation in range 0-0xffff. The maximum value (no
2628c2ecf20Sopenharmony_ciattenuation) is default. The channel mapping for three values is
2638c2ecf20Sopenharmony_cias follows:
2648c2ecf20Sopenharmony_ci
2658c2ecf20Sopenharmony_ci* 0 - mono, default 0xffff (no attenuation)
2668c2ecf20Sopenharmony_ci* 1 - left, default 0xffff (no attenuation)
2678c2ecf20Sopenharmony_ci* 2 - right, default 0xffff (no attenuation)
2688c2ecf20Sopenharmony_ci
2698c2ecf20Sopenharmony_ci``name='EMU10K1 PCM Send Routing',index 0-31``
2708c2ecf20Sopenharmony_ci----------------------------------------------
2718c2ecf20Sopenharmony_ciThis control specifies the destination - FX-bus accumulators. There are
2728c2ecf20Sopenharmony_citwelve values with this mapping:
2738c2ecf20Sopenharmony_ci
2748c2ecf20Sopenharmony_ci*  0 -  mono, A destination (FX-bus 0-15), default 0
2758c2ecf20Sopenharmony_ci*  1 -  mono, B destination (FX-bus 0-15), default 1
2768c2ecf20Sopenharmony_ci*  2 -  mono, C destination (FX-bus 0-15), default 2
2778c2ecf20Sopenharmony_ci*  3 -  mono, D destination (FX-bus 0-15), default 3
2788c2ecf20Sopenharmony_ci*  4 -  left, A destination (FX-bus 0-15), default 0
2798c2ecf20Sopenharmony_ci*  5 -  left, B destination (FX-bus 0-15), default 1
2808c2ecf20Sopenharmony_ci*  6 -  left, C destination (FX-bus 0-15), default 2
2818c2ecf20Sopenharmony_ci*  7 -  left, D destination (FX-bus 0-15), default 3
2828c2ecf20Sopenharmony_ci*  8 - right, A destination (FX-bus 0-15), default 0
2838c2ecf20Sopenharmony_ci*  9 - right, B destination (FX-bus 0-15), default 1
2848c2ecf20Sopenharmony_ci* 10 - right, C destination (FX-bus 0-15), default 2
2858c2ecf20Sopenharmony_ci* 11 - right, D destination (FX-bus 0-15), default 3
2868c2ecf20Sopenharmony_ci
2878c2ecf20Sopenharmony_ciDon't forget that it's illegal to assign a channel to the same FX-bus accumulator 
2888c2ecf20Sopenharmony_cimore than once (it means 0=0 && 1=0 is an invalid combination).
2898c2ecf20Sopenharmony_ci 
2908c2ecf20Sopenharmony_ci``name='EMU10K1 PCM Send Volume',index 0-31``
2918c2ecf20Sopenharmony_ci---------------------------------------------
2928c2ecf20Sopenharmony_ciIt specifies the attenuation (amount) for given destination in range 0-255.
2938c2ecf20Sopenharmony_ciThe channel mapping is following:
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_ci*  0 -  mono, A destination attn, default 255 (no attenuation)
2968c2ecf20Sopenharmony_ci*  1 -  mono, B destination attn, default 255 (no attenuation)
2978c2ecf20Sopenharmony_ci*  2 -  mono, C destination attn, default 0 (mute)
2988c2ecf20Sopenharmony_ci*  3 -  mono, D destination attn, default 0 (mute)
2998c2ecf20Sopenharmony_ci*  4 -  left, A destination attn, default 255 (no attenuation)
3008c2ecf20Sopenharmony_ci*  5 -  left, B destination attn, default 0 (mute)
3018c2ecf20Sopenharmony_ci*  6 -  left, C destination attn, default 0 (mute)
3028c2ecf20Sopenharmony_ci*  7 -  left, D destination attn, default 0 (mute)
3038c2ecf20Sopenharmony_ci*  8 - right, A destination attn, default 0 (mute)
3048c2ecf20Sopenharmony_ci*  9 - right, B destination attn, default 255 (no attenuation)
3058c2ecf20Sopenharmony_ci* 10 - right, C destination attn, default 0 (mute)
3068c2ecf20Sopenharmony_ci* 11 - right, D destination attn, default 0 (mute)
3078c2ecf20Sopenharmony_ci
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_ci
3108c2ecf20Sopenharmony_ciMANUALS/PATENTS
3118c2ecf20Sopenharmony_ci===============
3128c2ecf20Sopenharmony_ci
3138c2ecf20Sopenharmony_ciftp://opensource.creative.com/pub/doc
3148c2ecf20Sopenharmony_ci-------------------------------------
3158c2ecf20Sopenharmony_ci
3168c2ecf20Sopenharmony_ciLM4545.pdf
3178c2ecf20Sopenharmony_ci	AC97 Codec
3188c2ecf20Sopenharmony_cim2049.pdf
3198c2ecf20Sopenharmony_ci	The EMU10K1 Digital Audio Processor
3208c2ecf20Sopenharmony_cihog63.ps
3218c2ecf20Sopenharmony_ci	FX8010 - A DSP Chip Architecture for Audio Effects
3228c2ecf20Sopenharmony_ci
3238c2ecf20Sopenharmony_ci
3248c2ecf20Sopenharmony_ciWIPO Patents
3258c2ecf20Sopenharmony_ci------------
3268c2ecf20Sopenharmony_ci
3278c2ecf20Sopenharmony_ciWO 9901813 (A1)
3288c2ecf20Sopenharmony_ci	Audio Effects Processor with multiple asynchronous streams
3298c2ecf20Sopenharmony_ci	(Jan. 14, 1999)
3308c2ecf20Sopenharmony_ci
3318c2ecf20Sopenharmony_ciWO 9901814 (A1)
3328c2ecf20Sopenharmony_ci	Processor with Instruction Set for Audio Effects (Jan. 14, 1999)
3338c2ecf20Sopenharmony_ci
3348c2ecf20Sopenharmony_ciWO 9901953 (A1)
3358c2ecf20Sopenharmony_ci	Audio Effects Processor having Decoupled Instruction
3368c2ecf20Sopenharmony_ci        Execution and Audio Data Sequencing (Jan. 14, 1999)
3378c2ecf20Sopenharmony_ci
3388c2ecf20Sopenharmony_ci
3398c2ecf20Sopenharmony_ciUS Patents (https://www.uspto.gov/)
3408c2ecf20Sopenharmony_ci-----------------------------------
3418c2ecf20Sopenharmony_ci
3428c2ecf20Sopenharmony_ciUS 5925841
3438c2ecf20Sopenharmony_ci	Digital Sampling Instrument employing cache memory (Jul. 20, 1999)
3448c2ecf20Sopenharmony_ci
3458c2ecf20Sopenharmony_ciUS 5928342
3468c2ecf20Sopenharmony_ci	Audio Effects Processor integrated on a single chip
3478c2ecf20Sopenharmony_ci        with a multiport memory onto which multiple asynchronous
3488c2ecf20Sopenharmony_ci        digital sound samples can be concurrently loaded
3498c2ecf20Sopenharmony_ci	(Jul. 27, 1999)
3508c2ecf20Sopenharmony_ci
3518c2ecf20Sopenharmony_ciUS 5930158
3528c2ecf20Sopenharmony_ci	Processor with Instruction Set for Audio Effects (Jul. 27, 1999)
3538c2ecf20Sopenharmony_ci
3548c2ecf20Sopenharmony_ciUS 6032235
3558c2ecf20Sopenharmony_ci	Memory initialization circuit (Tram) (Feb. 29, 2000)
3568c2ecf20Sopenharmony_ci
3578c2ecf20Sopenharmony_ciUS 6138207
3588c2ecf20Sopenharmony_ci	Interpolation looping of audio samples in cache connected to
3598c2ecf20Sopenharmony_ci        system bus with prioritization and modification of bus transfers
3608c2ecf20Sopenharmony_ci        in accordance with loop ends and minimum block sizes
3618c2ecf20Sopenharmony_ci	(Oct. 24, 2000)
3628c2ecf20Sopenharmony_ci
3638c2ecf20Sopenharmony_ciUS 6151670
3648c2ecf20Sopenharmony_ci	Method for conserving memory storage using a
3658c2ecf20Sopenharmony_ci        pool of  short term memory registers
3668c2ecf20Sopenharmony_ci	(Nov. 21, 2000)
3678c2ecf20Sopenharmony_ci
3688c2ecf20Sopenharmony_ciUS 6195715
3698c2ecf20Sopenharmony_ci	Interrupt control for multiple programs communicating with
3708c2ecf20Sopenharmony_ci        a common interrupt by associating programs to GP registers,
3718c2ecf20Sopenharmony_ci        defining interrupt register, polling GP registers, and invoking
3728c2ecf20Sopenharmony_ci        callback routine associated with defined interrupt register
3738c2ecf20Sopenharmony_ci	(Feb. 27, 2001)
374