Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 20 Nov 1999 09:40:29 +0100 (CET)
From:      Blaz Zupan <blaz@gold.amis.net>
To:        freebsd-current@freebsd.org
Subject:   mixer synth & CD swapped on Yamaha OPL SAx
Message-ID:  <Pine.BSF.4.21.9911200933330.349-100000@localhost>

next in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.9911200933330.349-100000>