From owner-freebsd-current Sat Nov 20 0:42:29 1999 Delivered-To: freebsd-current@freebsd.org Received: from server.amis.net (server.amis.net [212.18.32.5]) by hub.freebsd.org (Postfix) with ESMTP id AC50614E5A for ; Sat, 20 Nov 1999 00:41:59 -0800 (PST) (envelope-from blaz@gold.amis.net) Received: by server.amis.net (Postfix, from userid 66) id 0FB80D5C22; Sat, 20 Nov 1999 09:41:58 +0100 (CET) Received: by gold.amis.net (Postfix, from userid 1000) id 294351D5F; Sat, 20 Nov 1999 09:40:29 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by gold.amis.net (Postfix) with ESMTP id 1D2185805 for ; Sat, 20 Nov 1999 09:40:29 +0100 (CET) Date: Sat, 20 Nov 1999 09:40:29 +0100 (CET) From: Blaz Zupan X-Sender: blaz@localhost To: freebsd-current@freebsd.org Subject: mixer synth & CD swapped on Yamaha OPL SAx Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Could someone with MSS compatible non-Yamaha card (AD1848, Opti 931, Gus PnP, ...) and using newpcm please check out the patch in PR kern/14634 and report to me if the mixer synth and CD are correct after the patch? If not, could you please try the below patch and see if this is a no-op on your system. As the PR suggests, mixer for synth and CD are swapped on Yamaha OPL SAx cards when running newpcm. I'd like to find out if this is the case only on the Yamaha (in this case the below patch should be applied) or if this is the case on all cards (in this case the patch from PR kern/14634 should be applied). Regards. *** sys/dev/pcm/isa/mss.c.orig Tue Oct 12 23:35:45 1999 --- sys/dev/pcm/isa/mss.c Sat Nov 6 14:52:25 1999 *************** *** 1097,1104 **** mss_mixer_set(struct mss_info *mss, int dev, int left, int right) { int regoffs; ! mixer_tab *mix_d = (mss->bd_id == MD_OPTI931)? &opti931_devices : &mix_devices; u_char old, val; if ((*mix_d)[dev][LEFT_CHN].nbits == 0) { DEB(printf("nbits = 0 for dev %d\n", dev)); --- 1097,1117 ---- mss_mixer_set(struct mss_info *mss, int dev, int left, int right) { int regoffs; ! mixer_tab *mix_d; u_char old, val; + + switch (mss->bd_id) { + case MD_OPTI931: + mix_d = &opti931_devices; + break; + + case MD_YM0020: + mix_d = &opl3sax_devices; + break; + + default: + mix_d = &mix_devices; + } if ((*mix_d)[dev][LEFT_CHN].nbits == 0) { DEB(printf("nbits = 0 for dev %d\n", dev)); *** sys/dev/pcm/isa/mss.h.orig Tue Sep 28 22:00:05 1999 --- sys/dev/pcm/isa/mss.h Sat Nov 6 14:53:11 1999 *************** *** 227,232 **** --- 227,256 ---- SOUND_MASK_LINE | SOUND_MASK_MIC | SOUND_MASK_CD | \ SOUND_MASK_IGAIN | SOUND_MASK_LINE1 ) + /* + * entries for the Yamaha OPL3-SA[23x]. + */ + + mixer_ent opl3sax_devices[32][2] = { + MIX_NONE(SOUND_MIXER_VOLUME), + MIX_NONE(SOUND_MIXER_BASS), + MIX_NONE(SOUND_MIXER_TREBLE), + MIX_ENT(SOUND_MIXER_SYNTH, 4, 1, 0, 5, 5, 1, 0, 5), + MIX_ENT(SOUND_MIXER_PCM, 6, 1, 0, 6, 7, 1, 0, 6), + MIX_ENT(SOUND_MIXER_SPEAKER, 26, 1, 0, 4, 0, 0, 0, 0), + MIX_ENT(SOUND_MIXER_LINE, 18, 1, 0, 5, 19, 1, 0, 5), + MIX_ENT(SOUND_MIXER_MIC, 0, 0, 5, 1, 1, 0, 5, 1), + MIX_ENT(SOUND_MIXER_CD, 2, 1, 0, 5, 3, 1, 0, 5), + MIX_ENT(SOUND_MIXER_IMIX, 13, 1, 2, 6, 0, 0, 0, 0), + MIX_NONE(SOUND_MIXER_ALTPCM), + MIX_NONE(SOUND_MIXER_RECLEV), + MIX_ENT(SOUND_MIXER_IGAIN, 0, 0, 0, 4, 1, 0, 0, 4), + MIX_NONE(SOUND_MIXER_OGAIN), + MIX_NONE(SOUND_MIXER_LINE1), + MIX_NONE(SOUND_MIXER_LINE2), + MIX_NONE(SOUND_MIXER_LINE3), + }; + /*- * Copyright (c) 1999 Doug Rabson * All rights reserved. Blaz Zupan, blaz@amis.net, http://home.amis.net/blaz/ Medinet d.o.o., Linhartova 21, 2000 Maribor, Slovenia To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message