^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ===========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Sound Blaster Live mixer / default DSP code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ===========================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) The EMU10K1 chips have a DSP part which can be programmed to support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) various ways of sample processing, which is described here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) (This article does not deal with the overall functionality of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) EMU10K1 chips. See the manuals section for further details.)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) The ALSA driver programs this portion of chip by default code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) (can be altered later) which offers the following functionality:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) IEC958 (S/PDIF) raw PCM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) =======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) This PCM device (it's the 4th PCM device (index 3!) and first subdevice
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) (index 0) for a given card) allows to forward 48kHz, stereo, 16-bit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) little endian streams without any modifications to the digital output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) (coaxial or optical). The universal interface allows the creation of up
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) to 8 raw PCM devices operating at 48kHz, 16-bit little endian. It would
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) be easy to add support for multichannel devices to the current code,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) but the conversion routines exist only for stereo (2-channel streams)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) at the time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) Look to tram_poke routines in lowlevel/emu10k1/emufx.c for more details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Digital mixer controls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) These controls are built using the DSP instructions. They offer extended
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) functionality. Only the default build-in code in the ALSA driver is described
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) here. Note that the controls work as attenuators: the maximum value is the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) neutral position leaving the signal unchanged. Note that if the same destination
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) is mentioned in multiple controls, the signal is accumulated and can be wrapped
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) (set to maximal or minimal value without checking of overflow).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Explanation of used abbreviations:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) DAC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) digital to analog converter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) ADC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) analog to digital converter
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) I2S
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) one-way three wire serial bus for digital sound by Philips Semiconductors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) (this standard is used for connecting standalone DAC and ADC converters)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) LFE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) low frequency effects (subwoofer signal)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) AC97
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) a chip containing an analog mixer, DAC and ADC converters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) IEC958
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) S/PDIF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) FX-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) the EMU10K1 chip has an effect bus containing 16 accumulators.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) Each of the synthesizer voices can feed its output to these accumulators
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) and the DSP microcontroller can operate with the resulting sum.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) ``name='Wave Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) ---------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) This control is used to attenuate samples for left and right PCM FX-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) The result samples are forwarded to the front DAC PCM slots of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) ``name='Wave Surround Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) ------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) This control is used to attenuate samples for left and right PCM FX-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) The result samples are forwarded to the rear I2S DACs. These DACs operates
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) separately (they are not inside the AC97 codec).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) ``name='Wave Center Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) ----------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) This control is used to attenuate samples for left and right PCM FX-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) accumulators. ALSA uses accumulators 0 and 1 for left and right PCM samples.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) The result is mixed to mono signal (single channel) and forwarded to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) the ??rear?? right DAC PCM slot of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) ``name='Wave LFE Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) -------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) This control is used to attenuate samples for left and right PCM FX-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) accumulators. ALSA uses accumulators 0 and 1 for left and right PCM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) The result is mixed to mono signal (single channel) and forwarded to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) the ??rear?? left DAC PCM slot of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) ``name='Wave Capture Volume',index=0``, ``name='Wave Capture Switch',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) ------------------------------------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) These controls are used to attenuate samples for left and right PCM FX-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) accumulator. ALSA uses accumulators 0 and 1 for left and right PCM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) The result is forwarded to the ADC capture FIFO (thus to the standard capture
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) PCM device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) ``name='Synth Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) ----------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) This control is used to attenuate samples for left and right MIDI FX-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) accumulators. ALSA uses accumulators 4 and 5 for left and right MIDI samples.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) The result samples are forwarded to the front DAC PCM slots of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) ``name='Synth Capture Volume',index=0``, ``name='Synth Capture Switch',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) --------------------------------------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) These controls are used to attenuate samples for left and right MIDI FX-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) accumulator. ALSA uses accumulators 4 and 5 for left and right PCM.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) The result is forwarded to the ADC capture FIFO (thus to the standard capture
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) PCM device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) ``name='Surround Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) -------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) This control is used to attenuate samples for left and right rear PCM FX-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) accumulators. ALSA uses accumulators 2 and 3 for left and right rear PCM samples.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) The result samples are forwarded to the rear I2S DACs. These DACs operate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) separately (they are not inside the AC97 codec).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) ``name='Surround Capture Volume',index=0``, ``name='Surround Capture Switch',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) --------------------------------------------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) These controls are used to attenuate samples for left and right rear PCM FX-bus
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) accumulators. ALSA uses accumulators 2 and 3 for left and right rear PCM samples.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) The result is forwarded to the ADC capture FIFO (thus to the standard capture
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) PCM device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) ``name='Center Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) -----------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) This control is used to attenuate sample for center PCM FX-bus accumulator.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) ALSA uses accumulator 6 for center PCM sample. The result sample is forwarded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) to the ??rear?? right DAC PCM slot of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) ``name='LFE Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) --------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) This control is used to attenuate sample for center PCM FX-bus accumulator.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) ALSA uses accumulator 6 for center PCM sample. The result sample is forwarded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) to the ??rear?? left DAC PCM slot of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) ``name='AC97 Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) ---------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) This control is used to attenuate samples for left and right front ADC PCM slots
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) of the AC97 codec. The result samples are forwarded to the front DAC PCM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) slots of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) .. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) This control should be zero for the standard operations, otherwise
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) a digital loopback is activated.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) ``name='AC97 Capture Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) --------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) This control is used to attenuate samples for left and right front ADC PCM slots
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) of the AC97 codec. The result is forwarded to the ADC capture FIFO (thus to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) the standard capture PCM device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) .. note::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) This control should be 100 (maximal value), otherwise no analog
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) inputs of the AC97 codec can be captured (recorded).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) ``name='IEC958 TTL Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) ---------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) This control is used to attenuate samples from left and right IEC958 TTL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) digital inputs (usually used by a CDROM drive). The result samples are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) forwarded to the front DAC PCM slots of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) ``name='IEC958 TTL Capture Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) --------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) This control is used to attenuate samples from left and right IEC958 TTL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) digital inputs (usually used by a CDROM drive). The result samples are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) forwarded to the ADC capture FIFO (thus to the standard capture PCM device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) ``name='Zoom Video Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) ---------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) This control is used to attenuate samples from left and right zoom video
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) digital inputs (usually used by a CDROM drive). The result samples are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) forwarded to the front DAC PCM slots of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) ``name='Zoom Video Capture Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) --------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) This control is used to attenuate samples from left and right zoom video
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) digital inputs (usually used by a CDROM drive). The result samples are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) forwarded to the ADC capture FIFO (thus to the standard capture PCM device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) ``name='IEC958 LiveDrive Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) ---------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) This control is used to attenuate samples from left and right IEC958 optical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) digital input. The result samples are forwarded to the front DAC PCM slots
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) ``name='IEC958 LiveDrive Capture Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) --------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) This control is used to attenuate samples from left and right IEC958 optical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) digital inputs. The result samples are forwarded to the ADC capture FIFO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) (thus to the standard capture PCM device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) ``name='IEC958 Coaxial Playback Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) -------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) This control is used to attenuate samples from left and right IEC958 coaxial
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) digital inputs. The result samples are forwarded to the front DAC PCM slots
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) ``name='IEC958 Coaxial Capture Volume',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) ------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) This control is used to attenuate samples from left and right IEC958 coaxial
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) digital inputs. The result samples are forwarded to the ADC capture FIFO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) (thus to the standard capture PCM device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) ``name='Line LiveDrive Playback Volume',index=0``, ``name='Line LiveDrive Playback Volume',index=1``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) ----------------------------------------------------------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) This control is used to attenuate samples from left and right I2S ADC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) inputs (on the LiveDrive). The result samples are forwarded to the front
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) DAC PCM slots of the AC97 codec.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) ``name='Line LiveDrive Capture Volume',index=1``, ``name='Line LiveDrive Capture Volume',index=1``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) --------------------------------------------------------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) This control is used to attenuate samples from left and right I2S ADC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) inputs (on the LiveDrive). The result samples are forwarded to the ADC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) capture FIFO (thus to the standard capture PCM device).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) ``name='Tone Control - Switch',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) ----------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) This control turns the tone control on or off. The samples for front, rear
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) and center / LFE outputs are affected.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) ``name='Tone Control - Bass',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) --------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) This control sets the bass intensity. There is no neutral value!!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) When the tone control code is activated, the samples are always modified.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) The closest value to pure signal is 20.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) ``name='Tone Control - Treble',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) ----------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) This control sets the treble intensity. There is no neutral value!!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) When the tone control code is activated, the samples are always modified.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) The closest value to pure signal is 20.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) ``name='IEC958 Optical Raw Playback Switch',index=0``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) -----------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) If this switch is on, then the samples for the IEC958 (S/PDIF) digital
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) output are taken only from the raw FX8010 PCM, otherwise standard front
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) PCM samples are taken.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) ``name='Headphone Playback Volume',index=1``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) --------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) This control attenuates the samples for the headphone output.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) ``name='Headphone Center Playback Switch',index=1``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) ---------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) If this switch is on, then the sample for the center PCM is put to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) left headphone output (useful for SB Live cards without separate center/LFE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) output).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) ``name='Headphone LFE Playback Switch',index=1``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) ------------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) If this switch is on, then the sample for the center PCM is put to the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) right headphone output (useful for SB Live cards without separate center/LFE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) output).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) PCM stream related controls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) ``name='EMU10K1 PCM Volume',index 0-31``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) ----------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) Channel volume attenuation in range 0-0xffff. The maximum value (no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) attenuation) is default. The channel mapping for three values is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) as follows:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) * 0 - mono, default 0xffff (no attenuation)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) * 1 - left, default 0xffff (no attenuation)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) * 2 - right, default 0xffff (no attenuation)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) ``name='EMU10K1 PCM Send Routing',index 0-31``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) ----------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) This control specifies the destination - FX-bus accumulators. There are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) twelve values with this mapping:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) * 0 - mono, A destination (FX-bus 0-15), default 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) * 1 - mono, B destination (FX-bus 0-15), default 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) * 2 - mono, C destination (FX-bus 0-15), default 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) * 3 - mono, D destination (FX-bus 0-15), default 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) * 4 - left, A destination (FX-bus 0-15), default 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) * 5 - left, B destination (FX-bus 0-15), default 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) * 6 - left, C destination (FX-bus 0-15), default 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) * 7 - left, D destination (FX-bus 0-15), default 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) * 8 - right, A destination (FX-bus 0-15), default 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) * 9 - right, B destination (FX-bus 0-15), default 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) * 10 - right, C destination (FX-bus 0-15), default 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) * 11 - right, D destination (FX-bus 0-15), default 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) Don't forget that it's illegal to assign a channel to the same FX-bus accumulator
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) more than once (it means 0=0 && 1=0 is an invalid combination).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) ``name='EMU10K1 PCM Send Volume',index 0-31``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) ---------------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) It specifies the attenuation (amount) for given destination in range 0-255.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) The channel mapping is following:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) * 0 - mono, A destination attn, default 255 (no attenuation)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) * 1 - mono, B destination attn, default 255 (no attenuation)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) * 2 - mono, C destination attn, default 0 (mute)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) * 3 - mono, D destination attn, default 0 (mute)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) * 4 - left, A destination attn, default 255 (no attenuation)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) * 5 - left, B destination attn, default 0 (mute)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) * 6 - left, C destination attn, default 0 (mute)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) * 7 - left, D destination attn, default 0 (mute)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303) * 8 - right, A destination attn, default 0 (mute)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) * 9 - right, B destination attn, default 255 (no attenuation)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) * 10 - right, C destination attn, default 0 (mute)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) * 11 - right, D destination attn, default 0 (mute)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) MANUALS/PATENTS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) ===============
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) ftp://opensource.creative.com/pub/doc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) -------------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) LM4545.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) AC97 Codec
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) m2049.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) The EMU10K1 Digital Audio Processor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) hog63.ps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) FX8010 - A DSP Chip Architecture for Audio Effects
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) WIPO Patents
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) ------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) WO 9901813 (A1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) Audio Effects Processor with multiple asynchronous streams
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) (Jan. 14, 1999)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) WO 9901814 (A1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) Processor with Instruction Set for Audio Effects (Jan. 14, 1999)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) WO 9901953 (A1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) Audio Effects Processor having Decoupled Instruction
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) Execution and Audio Data Sequencing (Jan. 14, 1999)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) US Patents (https://www.uspto.gov/)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340) -----------------------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) US 5925841
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) Digital Sampling Instrument employing cache memory (Jul. 20, 1999)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345) US 5928342
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) Audio Effects Processor integrated on a single chip
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) with a multiport memory onto which multiple asynchronous
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348) digital sound samples can be concurrently loaded
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) (Jul. 27, 1999)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) US 5930158
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) Processor with Instruction Set for Audio Effects (Jul. 27, 1999)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) US 6032235
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) Memory initialization circuit (Tram) (Feb. 29, 2000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) US 6138207
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) Interpolation looping of audio samples in cache connected to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) system bus with prioritization and modification of bus transfers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) in accordance with loop ends and minimum block sizes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) (Oct. 24, 2000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) US 6151670
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) Method for conserving memory storage using a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) pool of short term memory registers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) (Nov. 21, 2000)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368) US 6195715
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) Interrupt control for multiple programs communicating with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370) a common interrupt by associating programs to GP registers,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) defining interrupt register, polling GP registers, and invoking
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) callback routine associated with defined interrupt register
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) (Feb. 27, 2001)