Skip to content
  • René Herman's avatar
    ALSA: ISA: New Aztech Sound Galaxy driver · 49531192
    René Herman authored and Takashi Iwai's avatar Takashi Iwai committed
    
    
    This is a new driver for Aztech Sound Galaxy ISA soundcards based on the
    AZT1605 and AZT2316 chipsets. It's constructed as two seperate drivers
    for either chipset generated from the same source file, with (very)
    minimal ifdeffery.
    
    The drivers check the SB DSP version to decide if they are being loaded
    for the right chip. AZT1605 returns 2.1 by default and AZT2316 3.1.
    This isn't full-proof as the DSP version can actually be set through
    software but it's close enough -- as far as I've been able to see, the
    DSP version can not be stored in the EEPROM and the cards will therefore
    startup with the defaults.
    
    This distinction could (with the same success rate) also be used to
    decide which chip we're looking at at runtime meaning a single, merged
    driver is also an option but I feel it's actually nicer this way. A
    merged driver would have to postpone translating the passed in resource
    values to the card configuration until it knew which one it was looking
    at and would need to postpone erring out on mpu_irq=10 for azt1605 and
    mpu_irq=3 for azt2316.
    
    The drivers have been tested on various cards. For snd-azt1605:
    
    FCC-ID I38-MMSN811: Aztech Sound Galaxy Nova 16 Extra
    FCC-ID I38-MMSN822: Aztech Sound Galaxy Pro 16 II
    
    and for snd-azt2316:
    
    FCC-ID I38-MMSN824: Aztech Sound Galaxy Pro 16 AB
    FCC-ID I38-MMSN826: Trust Sound Expert DeLuxe Wave 32 (05201)
    FCC-ID I38-MMSN830: Trust Sound Expert DeLuxe 16+ (05202)
    FCC-ID I38-MMSN837: Packard Bell ISA Soundcard 030069
    FCC-ID I38-MMSN846: Trust Sound Expert DeLuxe 16-3D (06300)
    FCC-ID I38-MMSN847: Trust Sound Expert DeLuxe Wave 32-3D (06301)
    FCC-ID I38-MMSN852: Aztech Sound Galaxy Waverider Pro 32-3D
    
    826 and 846 were also marketed directly by Aztech and then known as:
    
    FCC-ID I38-MMSN826: Aztech Sound Galaxy Waverider 32+
    FCC-ID I38-MMSN846: Aztech Sound Galaxy Nova 16 Extra II-3D
    
    Together, these cover the AZT1605 and AT2316A, AZT2316R and AZT2316-S
    chipsets. All cards work fully -- full-duplex PCM, MIDI and FM. Full
    duplex is a little flaky on some.
    
    I38-MSN811 tends to not work in full-duplex but sometimes does with the
    highest success rate being achieved when you first start the capture and
    then a playback instead of the other way around (it's a CS4231-KL
    codec).
    
    The cards with an AD1845XP codec (my I38-MMSN826 and one of my
    I38-MMSN830s) are also somewhat duplex-challenged. Sometimes full-duplex
    works, sometimes not and this varies from try to try. This seems likely
    to be a timing problem somewhere inside wss-lib.
    
    I38-MMSN826 has an additional "ICS2115 WaveFront" wavetable synth
    onboard that isn't supported yet. The wavetable synths on I38-MMSN847
    and I38-MMSN852 are wired directly to the standard MPU-401 UART and the
    AUX1 input on the codec and work without problem.
    
    CD-ROM audio on the cards is routed to the codec "Line" input, Line-In
    to its Aux input, and FM/Wavetable to its AUX1 input. I did not rename
    the controls due to the capture source enumeration: I see that
    capture-source overrides are hardcoded in wss-lib and this is just too
    ugly to live.
    
    Versus the old snd-sgalaxy driver these drivers add support for the
    models without a configuration EEPROM (which are common), full-duplex,
    MPU-401 UART and OPL3. In the future they might grow support for that
    ICS2115 WaveFront synth on 826 and an hwdep interface to write to the
    EEPROM on the models that have one.
    
    Signed-off-by: default avatarRene Herman <rene.herman@gmail.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    49531192