alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* Undocumented Sound Blaster 16 extended mixer registers
@ 2012-05-15 20:01 Ondrej Zary
  0 siblings, 0 replies; only message in thread
From: Ondrej Zary @ 2012-05-15 20:01 UTC (permalink / raw)
  To: Jaroslav Kysela; +Cc: alsa-devel

Hello,
while playing with various SB16 types, found that the newer types have some 
extended mixer registers that aren't documented anywhere. Windows 9x driver 
detects and uses them so e.g. Auxiliary input appears when using CT2511-based 
card, MIDI mute becomes available on some cards, etc.

Chips tested:
CT1746B+CT1745A: SB16 SCSI
CT1747+CT1745A: SB16 IDE
CT2504: Vibra 16S
CT2505: Vibra 16C (PnP)
CT2511: Vibra 16XV (PnP)
CT8920: AWE64 (the last one with integrated mixer) (PnP)

Registers found:
----------------
0x48: Output switches 2
	all supported bits are set after reset
	(0x1f on CT2505 and CT8920, 0x7f on CT2511)
	bit 0: PC Speaker
	bit 1: PCM
	bit 2: PCM
	bit 3: MIDI
	bit 4: MIDI
	bit 5: AUX (CT2511 only, zero otherwise)
	bit 6: AUX (CT2511 only, zero otherwise)
	bit 7: unused (always zero)
0x49: Master switches
	all supported bits are set after reset
	(0x0f on CT2511, 0x0c on CT8920)
	bit 0: capture
	bit 1: capture
	bit 2: playback
	bit 3: playback
	bits 4..7: unused (always zero)
0x4a: Input switches 2
	zero after reset
	bit 0: PCM
	bit 1: PCM
	bit 2: AUX (CT2511 only, zero otherwise)
	bit 3: AUX (CT2511 only, zero otherwise)
	bits 4..7: unused (always zero)
0x4b: ??
	0x63 after reset (on CT2511 and CT8920)
	bits 0..5 writable

CT2511 also provides two additional volume controls:
0x50,0x51: Master Capture Volume (bits 7..3)
	reads as 0xE0 after reset when present
0x52,0x53: AUX Volume (bits 7..3)
	reads as 0xC0 after reset when present

There are no extended registers on the older cards (CT1746B+CT1745A,
CT1747+CT1745A and CT2504). CT2505 implements only 0x48.

AUX is an additional input, used at least on SF16-FMD2 card to connect 
integrated FM tuner.

I'm going to prepare a patch that allows sb16 driver to detect these 
additional controls and enable them if found.

However, I still haven't found how Windows driver detects Bass/Treble control 
presence. All chips have the bass/treble registers (0x44-0x47) present and 
writable but they have no effect on all Vibra chips except CT2502 (which I 
don't have). There must be some other register which says that bass/treble 
controls are not available.

-- 
Ondrej Zary

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-05-15 20:01 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-15 20:01 Undocumented Sound Blaster 16 extended mixer registers Ondrej Zary

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).