162306a36Sopenharmony_ci===========================================
262306a36Sopenharmony_ciSound Blaster Live mixer / default DSP code
362306a36Sopenharmony_ci===========================================
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci
662306a36Sopenharmony_ciThe EMU10K1 chips have a DSP part which can be programmed to support
762306a36Sopenharmony_civarious ways of sample processing, which is described here.
862306a36Sopenharmony_ci(This article does not deal with the overall functionality of the 
962306a36Sopenharmony_ciEMU10K1 chips. See the manuals section for further details.)
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ciThe ALSA driver programs this portion of chip by default code
1262306a36Sopenharmony_ci(can be altered later) which offers the following functionality:
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciIEC958 (S/PDIF) raw PCM
1662306a36Sopenharmony_ci=======================
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ciThis PCM device (it's the 3rd PCM device (index 2!) and first subdevice
1962306a36Sopenharmony_ci(index 0) for a given card) allows to forward 48kHz, stereo, 16-bit
2062306a36Sopenharmony_cilittle endian streams without any modifications to the digital output
2162306a36Sopenharmony_ci(coaxial or optical). The universal interface allows the creation of up
2262306a36Sopenharmony_cito 8 raw PCM devices operating at 48kHz, 16-bit little endian. It would
2362306a36Sopenharmony_cibe easy to add support for multichannel devices to the current code,
2462306a36Sopenharmony_cibut the conversion routines exist only for stereo (2-channel streams)
2562306a36Sopenharmony_ciat the time. 
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciLook to tram_poke routines in lowlevel/emu10k1/emufx.c for more details.
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ciDigital mixer controls
3162306a36Sopenharmony_ci======================
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ciThese controls are built using the DSP instructions. They offer extended
3462306a36Sopenharmony_cifunctionality. Only the default built-in code in the ALSA driver is described
3562306a36Sopenharmony_cihere. Note that the controls work as attenuators: the maximum value is the 
3662306a36Sopenharmony_cineutral position leaving the signal unchanged. Note that if the same destination
3762306a36Sopenharmony_ciis mentioned in multiple controls, the signal is accumulated and can be clipped
3862306a36Sopenharmony_ci(set to maximal or minimal value without checking for overflow).
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ciExplanation of used abbreviations:
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ciDAC
4462306a36Sopenharmony_ci	digital to analog converter
4562306a36Sopenharmony_ciADC
4662306a36Sopenharmony_ci	analog to digital converter
4762306a36Sopenharmony_ciI2S
4862306a36Sopenharmony_ci	one-way three wire serial bus for digital sound by Philips Semiconductors
4962306a36Sopenharmony_ci	(this standard is used for connecting standalone D/A and A/D converters)
5062306a36Sopenharmony_ciLFE
5162306a36Sopenharmony_ci	low frequency effects (used as subwoofer signal)
5262306a36Sopenharmony_ciAC97
5362306a36Sopenharmony_ci	a chip containing an analog mixer, D/A and A/D converters
5462306a36Sopenharmony_ciIEC958
5562306a36Sopenharmony_ci	S/PDIF
5662306a36Sopenharmony_ciFX-bus
5762306a36Sopenharmony_ci	the EMU10K1 chip has an effect bus containing 16 accumulators.
5862306a36Sopenharmony_ci	Each of the synthesizer voices can feed its output to these accumulators
5962306a36Sopenharmony_ci	and the DSP microcontroller can operate with the resulting sum.
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ci``name='Wave Playback Volume',index=0``
6362306a36Sopenharmony_ci---------------------------------------
6462306a36Sopenharmony_ciThis control is used to attenuate samples from left and right PCM FX-bus
6562306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
6662306a36Sopenharmony_ciThe result samples are forwarded to the front DAC PCM slots of the AC97 codec.
6762306a36Sopenharmony_ci
6862306a36Sopenharmony_ci``name='Wave Surround Playback Volume',index=0``
6962306a36Sopenharmony_ci------------------------------------------------
7062306a36Sopenharmony_ciThis control is used to attenuate samples from left and right PCM FX-bus
7162306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
7262306a36Sopenharmony_ciThe result samples are forwarded to the rear I2S DACs. These DACs operates
7362306a36Sopenharmony_ciseparately (they are not inside the AC97 codec).
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci``name='Wave Center Playback Volume',index=0``
7662306a36Sopenharmony_ci----------------------------------------------
7762306a36Sopenharmony_ciThis control is used to attenuate samples from left and right PCM FX-bus
7862306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
7962306a36Sopenharmony_ciThe result is mixed to mono signal (single channel) and forwarded to
8062306a36Sopenharmony_cithe ??rear?? right DAC PCM slot of the AC97 codec.
8162306a36Sopenharmony_ci
8262306a36Sopenharmony_ci``name='Wave LFE Playback Volume',index=0``
8362306a36Sopenharmony_ci-------------------------------------------
8462306a36Sopenharmony_ciThis control is used to attenuate samples from left and right PCM FX-bus
8562306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 0 and 1 for left and right PCM.
8662306a36Sopenharmony_ciThe result is mixed to mono signal (single channel) and forwarded to
8762306a36Sopenharmony_cithe ??rear?? left DAC PCM slot of the AC97 codec.
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci``name='Wave Capture Volume',index=0``, ``name='Wave Capture Switch',index=0``
9062306a36Sopenharmony_ci------------------------------------------------------------------------------
9162306a36Sopenharmony_ciThese controls are used to attenuate samples from left and right PCM FX-bus
9262306a36Sopenharmony_ciaccumulator. ALSA uses accumulators 0 and 1 for left and right PCM.
9362306a36Sopenharmony_ciThe result is forwarded to the ADC capture FIFO (thus to the standard capture
9462306a36Sopenharmony_ciPCM device).
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci``name='Synth Playback Volume',index=0``
9762306a36Sopenharmony_ci----------------------------------------
9862306a36Sopenharmony_ciThis control is used to attenuate samples from left and right MIDI FX-bus
9962306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
10062306a36Sopenharmony_ciThe result samples are forwarded to the front DAC PCM slots of the AC97 codec.
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci``name='Synth Capture Volume',index=0``, ``name='Synth Capture Switch',index=0``
10362306a36Sopenharmony_ci--------------------------------------------------------------------------------
10462306a36Sopenharmony_ciThese controls are used to attenuate samples from left and right MIDI FX-bus
10562306a36Sopenharmony_ciaccumulator. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
10662306a36Sopenharmony_ciThe result is forwarded to the ADC capture FIFO (thus to the standard capture
10762306a36Sopenharmony_ciPCM device).
10862306a36Sopenharmony_ci
10962306a36Sopenharmony_ci``name='Surround Playback Volume',index=0``
11062306a36Sopenharmony_ci-------------------------------------------
11162306a36Sopenharmony_ciThis control is used to attenuate samples from left and right rear PCM FX-bus
11262306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 2 and 3 for left and right rear PCM samples.
11362306a36Sopenharmony_ciThe result samples are forwarded to the rear I2S DACs. These DACs operate
11462306a36Sopenharmony_ciseparately (they are not inside the AC97 codec).
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci``name='Surround Capture Volume',index=0``, ``name='Surround Capture Switch',index=0``
11762306a36Sopenharmony_ci--------------------------------------------------------------------------------------
11862306a36Sopenharmony_ciThese controls are used to attenuate samples from left and right rear PCM FX-bus
11962306a36Sopenharmony_ciaccumulators. ALSA uses accumulators 2 and 3 for left and right rear PCM samples.
12062306a36Sopenharmony_ciThe result is forwarded to the ADC capture FIFO (thus to the standard capture
12162306a36Sopenharmony_ciPCM device).
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci``name='Center Playback Volume',index=0``
12462306a36Sopenharmony_ci-----------------------------------------
12562306a36Sopenharmony_ciThis control is used to attenuate sample for center PCM FX-bus accumulator.
12662306a36Sopenharmony_ciALSA uses accumulator 6 for center PCM sample. The result sample is forwarded
12762306a36Sopenharmony_cito the ??rear?? right DAC PCM slot of the AC97 codec.
12862306a36Sopenharmony_ci
12962306a36Sopenharmony_ci``name='LFE Playback Volume',index=0``
13062306a36Sopenharmony_ci--------------------------------------
13162306a36Sopenharmony_ciThis control is used to attenuate sample for center PCM FX-bus accumulator.
13262306a36Sopenharmony_ciALSA uses accumulator 6 for center PCM sample. The result sample is forwarded
13362306a36Sopenharmony_cito the ??rear?? left DAC PCM slot of the AC97 codec.
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ci``name='AC97 Playback Volume',index=0``
13662306a36Sopenharmony_ci---------------------------------------
13762306a36Sopenharmony_ciThis control is used to attenuate samples from left and right front ADC PCM slots
13862306a36Sopenharmony_ciof the AC97 codec. The result samples are forwarded to the front DAC PCM
13962306a36Sopenharmony_cislots of the AC97 codec.
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci.. note::
14262306a36Sopenharmony_ci  This control should be zero for the standard operations, otherwise
14362306a36Sopenharmony_ci  a digital loopback is activated.
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci
14662306a36Sopenharmony_ci``name='AC97 Capture Volume',index=0``
14762306a36Sopenharmony_ci--------------------------------------
14862306a36Sopenharmony_ciThis control is used to attenuate samples from left and right front ADC PCM slots
14962306a36Sopenharmony_ciof the AC97 codec. The result is forwarded to the ADC capture FIFO (thus to
15062306a36Sopenharmony_cithe standard capture PCM device).
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci.. note::
15362306a36Sopenharmony_ci   This control should be 100 (maximal value), otherwise no analog
15462306a36Sopenharmony_ci   inputs of the AC97 codec can be captured (recorded).
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci``name='IEC958 TTL Playback Volume',index=0``
15762306a36Sopenharmony_ci---------------------------------------------
15862306a36Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 TTL
15962306a36Sopenharmony_cidigital inputs (usually used by a CDROM drive). The result samples are
16062306a36Sopenharmony_ciforwarded to the front DAC PCM slots of the AC97 codec.
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci``name='IEC958 TTL Capture Volume',index=0``
16362306a36Sopenharmony_ci--------------------------------------------
16462306a36Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 TTL
16562306a36Sopenharmony_cidigital inputs (usually used by a CDROM drive). The result samples are
16662306a36Sopenharmony_ciforwarded to the ADC capture FIFO (thus to the standard capture PCM device).
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ci``name='Zoom Video Playback Volume',index=0``
16962306a36Sopenharmony_ci---------------------------------------------
17062306a36Sopenharmony_ciThis control is used to attenuate samples from left and right zoom video
17162306a36Sopenharmony_cidigital inputs (usually used by a CDROM drive). The result samples are
17262306a36Sopenharmony_ciforwarded to the front DAC PCM slots of the AC97 codec.
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci``name='Zoom Video Capture Volume',index=0``
17562306a36Sopenharmony_ci--------------------------------------------
17662306a36Sopenharmony_ciThis control is used to attenuate samples from left and right zoom video
17762306a36Sopenharmony_cidigital inputs (usually used by a CDROM drive). The result samples are
17862306a36Sopenharmony_ciforwarded to the ADC capture FIFO (thus to the standard capture PCM device).
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci``name='IEC958 LiveDrive Playback Volume',index=0``
18162306a36Sopenharmony_ci---------------------------------------------------
18262306a36Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 optical
18362306a36Sopenharmony_cidigital input. The result samples are forwarded to the front DAC PCM slots
18462306a36Sopenharmony_ciof the AC97 codec.
18562306a36Sopenharmony_ci
18662306a36Sopenharmony_ci``name='IEC958 LiveDrive Capture Volume',index=0``
18762306a36Sopenharmony_ci--------------------------------------------------
18862306a36Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 optical
18962306a36Sopenharmony_cidigital inputs. The result samples are forwarded to the ADC capture FIFO
19062306a36Sopenharmony_ci(thus to the standard capture PCM device).
19162306a36Sopenharmony_ci
19262306a36Sopenharmony_ci``name='IEC958 Coaxial Playback Volume',index=0``
19362306a36Sopenharmony_ci-------------------------------------------------
19462306a36Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 coaxial
19562306a36Sopenharmony_cidigital inputs. The result samples are forwarded to the front DAC PCM slots
19662306a36Sopenharmony_ciof the AC97 codec.
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_ci``name='IEC958 Coaxial Capture Volume',index=0``
19962306a36Sopenharmony_ci------------------------------------------------
20062306a36Sopenharmony_ciThis control is used to attenuate samples from left and right IEC958 coaxial
20162306a36Sopenharmony_cidigital inputs. The result samples are forwarded to the ADC capture FIFO
20262306a36Sopenharmony_ci(thus to the standard capture PCM device).
20362306a36Sopenharmony_ci
20462306a36Sopenharmony_ci``name='Line LiveDrive Playback Volume',index=0``, ``name='Line LiveDrive Playback Volume',index=1``
20562306a36Sopenharmony_ci----------------------------------------------------------------------------------------------------
20662306a36Sopenharmony_ciThis control is used to attenuate samples from left and right I2S ADC
20762306a36Sopenharmony_ciinputs (on the LiveDrive). The result samples are forwarded to the front
20862306a36Sopenharmony_ciDAC PCM slots of the AC97 codec.
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci``name='Line LiveDrive Capture Volume',index=1``, ``name='Line LiveDrive Capture Volume',index=1``
21162306a36Sopenharmony_ci--------------------------------------------------------------------------------------------------
21262306a36Sopenharmony_ciThis control is used to attenuate samples from left and right I2S ADC
21362306a36Sopenharmony_ciinputs (on the LiveDrive). The result samples are forwarded to the ADC
21462306a36Sopenharmony_cicapture FIFO (thus to the standard capture PCM device).
21562306a36Sopenharmony_ci
21662306a36Sopenharmony_ci``name='Tone Control - Switch',index=0``
21762306a36Sopenharmony_ci----------------------------------------
21862306a36Sopenharmony_ciThis control turns the tone control on or off. The samples for front, rear
21962306a36Sopenharmony_ciand center / LFE outputs are affected.
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci``name='Tone Control - Bass',index=0``
22262306a36Sopenharmony_ci--------------------------------------
22362306a36Sopenharmony_ciThis control sets the bass intensity. There is no neutral value!!
22462306a36Sopenharmony_ciWhen the tone control code is activated, the samples are always modified.
22562306a36Sopenharmony_ciThe closest value to pure signal is 20.
22662306a36Sopenharmony_ci
22762306a36Sopenharmony_ci``name='Tone Control - Treble',index=0``
22862306a36Sopenharmony_ci----------------------------------------
22962306a36Sopenharmony_ciThis control sets the treble intensity. There is no neutral value!!
23062306a36Sopenharmony_ciWhen the tone control code is activated, the samples are always modified.
23162306a36Sopenharmony_ciThe closest value to pure signal is 20.
23262306a36Sopenharmony_ci
23362306a36Sopenharmony_ci``name='IEC958 Optical Raw Playback Switch',index=0``
23462306a36Sopenharmony_ci-----------------------------------------------------
23562306a36Sopenharmony_ciIf this switch is on, then the samples for the IEC958 (S/PDIF) digital
23662306a36Sopenharmony_cioutput are taken only from the raw FX8010 PCM, otherwise standard front
23762306a36Sopenharmony_ciPCM samples are taken.
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ci``name='Headphone Playback Volume',index=1``
24062306a36Sopenharmony_ci--------------------------------------------
24162306a36Sopenharmony_ciThis control attenuates the samples for the headphone output.
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci``name='Headphone Center Playback Switch',index=1``
24462306a36Sopenharmony_ci---------------------------------------------------
24562306a36Sopenharmony_ciIf this switch is on, then the sample for the center PCM is put to the
24662306a36Sopenharmony_cileft headphone output (useful for SB Live cards without separate center/LFE
24762306a36Sopenharmony_cioutput).
24862306a36Sopenharmony_ci
24962306a36Sopenharmony_ci``name='Headphone LFE Playback Switch',index=1``
25062306a36Sopenharmony_ci------------------------------------------------
25162306a36Sopenharmony_ciIf this switch is on, then the sample for the center PCM is put to the
25262306a36Sopenharmony_ciright headphone output (useful for SB Live cards without separate center/LFE
25362306a36Sopenharmony_cioutput).
25462306a36Sopenharmony_ci
25562306a36Sopenharmony_ci
25662306a36Sopenharmony_ciPCM stream related controls
25762306a36Sopenharmony_ci===========================
25862306a36Sopenharmony_ci
25962306a36Sopenharmony_ci``name='EMU10K1 PCM Volume',index 0-31``
26062306a36Sopenharmony_ci----------------------------------------
26162306a36Sopenharmony_ciChannel volume attenuation in range 0-0x1fffd. The middle value (no
26262306a36Sopenharmony_ciattenuation) is default. The channel mapping for three values is
26362306a36Sopenharmony_cias follows:
26462306a36Sopenharmony_ci
26562306a36Sopenharmony_ci* 0 - mono, default 0xffff (no attenuation)
26662306a36Sopenharmony_ci* 1 - left, default 0xffff (no attenuation)
26762306a36Sopenharmony_ci* 2 - right, default 0xffff (no attenuation)
26862306a36Sopenharmony_ci
26962306a36Sopenharmony_ci``name='EMU10K1 PCM Send Routing',index 0-31``
27062306a36Sopenharmony_ci----------------------------------------------
27162306a36Sopenharmony_ciThis control specifies the destination - FX-bus accumulators. There are
27262306a36Sopenharmony_citwelve values with this mapping:
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ci*  0 -  mono, A destination (FX-bus 0-15), default 0
27562306a36Sopenharmony_ci*  1 -  mono, B destination (FX-bus 0-15), default 1
27662306a36Sopenharmony_ci*  2 -  mono, C destination (FX-bus 0-15), default 2
27762306a36Sopenharmony_ci*  3 -  mono, D destination (FX-bus 0-15), default 3
27862306a36Sopenharmony_ci*  4 -  left, A destination (FX-bus 0-15), default 0
27962306a36Sopenharmony_ci*  5 -  left, B destination (FX-bus 0-15), default 1
28062306a36Sopenharmony_ci*  6 -  left, C destination (FX-bus 0-15), default 2
28162306a36Sopenharmony_ci*  7 -  left, D destination (FX-bus 0-15), default 3
28262306a36Sopenharmony_ci*  8 - right, A destination (FX-bus 0-15), default 0
28362306a36Sopenharmony_ci*  9 - right, B destination (FX-bus 0-15), default 1
28462306a36Sopenharmony_ci* 10 - right, C destination (FX-bus 0-15), default 2
28562306a36Sopenharmony_ci* 11 - right, D destination (FX-bus 0-15), default 3
28662306a36Sopenharmony_ci
28762306a36Sopenharmony_ciDon't forget that it's illegal to assign a channel to the same FX-bus accumulator 
28862306a36Sopenharmony_cimore than once (it means 0=0 && 1=0 is an invalid combination).
28962306a36Sopenharmony_ci 
29062306a36Sopenharmony_ci``name='EMU10K1 PCM Send Volume',index 0-31``
29162306a36Sopenharmony_ci---------------------------------------------
29262306a36Sopenharmony_ciIt specifies the attenuation (amount) for given destination in range 0-255.
29362306a36Sopenharmony_ciThe channel mapping is following:
29462306a36Sopenharmony_ci
29562306a36Sopenharmony_ci*  0 -  mono, A destination attn, default 255 (no attenuation)
29662306a36Sopenharmony_ci*  1 -  mono, B destination attn, default 255 (no attenuation)
29762306a36Sopenharmony_ci*  2 -  mono, C destination attn, default 0 (mute)
29862306a36Sopenharmony_ci*  3 -  mono, D destination attn, default 0 (mute)
29962306a36Sopenharmony_ci*  4 -  left, A destination attn, default 255 (no attenuation)
30062306a36Sopenharmony_ci*  5 -  left, B destination attn, default 0 (mute)
30162306a36Sopenharmony_ci*  6 -  left, C destination attn, default 0 (mute)
30262306a36Sopenharmony_ci*  7 -  left, D destination attn, default 0 (mute)
30362306a36Sopenharmony_ci*  8 - right, A destination attn, default 0 (mute)
30462306a36Sopenharmony_ci*  9 - right, B destination attn, default 255 (no attenuation)
30562306a36Sopenharmony_ci* 10 - right, C destination attn, default 0 (mute)
30662306a36Sopenharmony_ci* 11 - right, D destination attn, default 0 (mute)
30762306a36Sopenharmony_ci
30862306a36Sopenharmony_ci
30962306a36Sopenharmony_ci
31062306a36Sopenharmony_ciMANUALS/PATENTS
31162306a36Sopenharmony_ci===============
31262306a36Sopenharmony_ci
31362306a36Sopenharmony_ciftp://opensource.creative.com/pub/doc
31462306a36Sopenharmony_ci-------------------------------------
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ciNote that the site is defunct, but the documents are available
31762306a36Sopenharmony_cifrom various other locations.
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ciLM4545.pdf
32062306a36Sopenharmony_ci	AC97 Codec
32162306a36Sopenharmony_cim2049.pdf
32262306a36Sopenharmony_ci	The EMU10K1 Digital Audio Processor
32362306a36Sopenharmony_cihog63.ps
32462306a36Sopenharmony_ci	FX8010 - A DSP Chip Architecture for Audio Effects
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci
32762306a36Sopenharmony_ciWIPO Patents
32862306a36Sopenharmony_ci------------
32962306a36Sopenharmony_ci
33062306a36Sopenharmony_ciWO 9901813 (A1)
33162306a36Sopenharmony_ci	Audio Effects Processor with multiple asynchronous streams
33262306a36Sopenharmony_ci	(Jan. 14, 1999)
33362306a36Sopenharmony_ci
33462306a36Sopenharmony_ciWO 9901814 (A1)
33562306a36Sopenharmony_ci	Processor with Instruction Set for Audio Effects (Jan. 14, 1999)
33662306a36Sopenharmony_ci
33762306a36Sopenharmony_ciWO 9901953 (A1)
33862306a36Sopenharmony_ci	Audio Effects Processor having Decoupled Instruction
33962306a36Sopenharmony_ci        Execution and Audio Data Sequencing (Jan. 14, 1999)
34062306a36Sopenharmony_ci
34162306a36Sopenharmony_ci
34262306a36Sopenharmony_ciUS Patents (https://www.uspto.gov/)
34362306a36Sopenharmony_ci-----------------------------------
34462306a36Sopenharmony_ci
34562306a36Sopenharmony_ciUS 5925841
34662306a36Sopenharmony_ci	Digital Sampling Instrument employing cache memory (Jul. 20, 1999)
34762306a36Sopenharmony_ci
34862306a36Sopenharmony_ciUS 5928342
34962306a36Sopenharmony_ci	Audio Effects Processor integrated on a single chip
35062306a36Sopenharmony_ci        with a multiport memory onto which multiple asynchronous
35162306a36Sopenharmony_ci        digital sound samples can be concurrently loaded
35262306a36Sopenharmony_ci	(Jul. 27, 1999)
35362306a36Sopenharmony_ci
35462306a36Sopenharmony_ciUS 5930158
35562306a36Sopenharmony_ci	Processor with Instruction Set for Audio Effects (Jul. 27, 1999)
35662306a36Sopenharmony_ci
35762306a36Sopenharmony_ciUS 6032235
35862306a36Sopenharmony_ci	Memory initialization circuit (Tram) (Feb. 29, 2000)
35962306a36Sopenharmony_ci
36062306a36Sopenharmony_ciUS 6138207
36162306a36Sopenharmony_ci	Interpolation looping of audio samples in cache connected to
36262306a36Sopenharmony_ci        system bus with prioritization and modification of bus transfers
36362306a36Sopenharmony_ci        in accordance with loop ends and minimum block sizes
36462306a36Sopenharmony_ci	(Oct. 24, 2000)
36562306a36Sopenharmony_ci
36662306a36Sopenharmony_ciUS 6151670
36762306a36Sopenharmony_ci	Method for conserving memory storage using a
36862306a36Sopenharmony_ci        pool of  short term memory registers
36962306a36Sopenharmony_ci	(Nov. 21, 2000)
37062306a36Sopenharmony_ci
37162306a36Sopenharmony_ciUS 6195715
37262306a36Sopenharmony_ci	Interrupt control for multiple programs communicating with
37362306a36Sopenharmony_ci        a common interrupt by associating programs to GP registers,
37462306a36Sopenharmony_ci        defining interrupt register, polling GP registers, and invoking
37562306a36Sopenharmony_ci        callback routine associated with defined interrupt register
37662306a36Sopenharmony_ci	(Feb. 27, 2001)
377