cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

audigy-mixer.rst (14858B)


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