Date: Thu, 12 Nov 1998 01:03:53 +0900 (JST) From: sanpei@sanpei.org (MIHIRA Yoshiro) To: dmm125@bellatlantic.net Cc: deischen@iworks.interworks.org, freebsd-questions@FreeBSD.ORG, hardware@FreeBSD.ORG Subject: Re: ESS 1868 Message-ID: <199811111603.BAA09545@lavender.yy.cs.keio.ac.jp> In-Reply-To: Your message of "Thu, 22 Oct 1998 06:55:40 JST". <362E585B.8314E1F7@bellatlantic.net>
next in thread | previous in thread | raw e-mail | index | archive | help
dmm125@bellatlantic.net wrote
>> Daniel M. Eischen wrote:
>>
>> > > Anybody tried the pcm driver with the ESS 1868 sound card? The sound
>> > > only comes out of the left channel. Both speakers are working, but with
>> > > the Luigi sound code, sound only comes out of the left speaker. With
>> > > the voxware driver, both speakers work. Maybe a problem with full/half
>> > > duplex?
>> >
>> > The voxware driver works fine for the ESS1868 in my laptop, but with
>> > the PCM driver, I get a horrendous feedback sound and it doesn't
>> > work well at all. I haven't had a chance to pick through the
>> > code and see what the differences are between PCM and Voxware
>> > ESS1868 support.
>> >
>> > DE
>>
>> I just tried it, and I get lots of distortion with real-video files (they
>> STILL don't have RealPlayer 5.0 for FreeBSD yet). But simple stuff plays
>> well, like
>>
>> cat sound.au > /dev/audio ## comes out left channel only.
I find out problem. It is quick hack patch for FreeBSD-2.2.7-RELEASE
and ESS chipset(or other chips??).
This function is from VoxWare code (sb_mixer.c). But it was changed....
I think that code is need to calcurate correctly.
I will contact Luigi and solve this problem.
----
Yoshiro MIHIRA
--- sound.c.org Thu Oct 22 09:59:31 1998
+++ sound.c Thu Nov 12 00:56:26 1998
@@ -1351,7 +1351,12 @@
mask = (1 << (*t)[dev][chn].nbits) - 1;
newval = (int) ((newval * mask) + 50) / 100; /* Scale it */
+#define ESS_VOLUME_HACK
+#ifdef ESS_VOLUME_HACK
+ shift = (*t)[dev][chn].bitoffs - (*t)[dev][LEFT_CHN].nbits + 1;
+#else
shift = (*t)[dev][chn].bitoffs /*- (*t)[dev][LEFT_CHN].nbits + 1*/;
+#endif
*regval &= ~(mask << shift); /* Filter out the previous value */
*regval |= (newval & mask) << shift; /* Set the new value */
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hardware" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199811111603.BAA09545>
