Hello.

Joлl Bourquard wrote:
You're correct, it is FM sound. Sorry.
Have you tried my experimental OPL
implementation from www.dosemu.org/stas ?
It is not intended to work good, but
somehow it works for some people.

I meant, to open in stereo while keeping the same sampling rate.
You probably mean to halve the sampling
rate, as the sample size becames twice
as large.
Well, not that I like such a solutions.
In general I don't like adding a driver-
specific hack at all. The next time someone
will come around and say that his driver
only supports 44100:)
But in general, what's the difference
between what you suggest and what actually
happens in your case now? Dosemu is trying to
set mono, the driver refuses and sets stereo
anyway, right? Then you lower the freq
manually... should work. But I guess dosemu
is unhappy that the driver ignored the
request, so it keeps trying to re-initialize
it, hence the distortion.
Try the attached patch (above the previous
one) - it will (hopefully) just ignore the
failure letting you to tune the freq.

If DIRECT_WRITE_FREQ is not changed, the games hangs after ~5 seconds
with plenty of "ERROR: SB: direct write buffer overflowed!" in the
console.
It is not intended to hang, but it probably
becames horribly slowed down because dosemu
it writing that error message thousands of
times per second. I'll fix that (later) to
print only one message per an overflow.
This error is actually harmless, it only
means that some bytes are being skipped from
the sound stream, reducing the sound quality.

I suggest you replace the default value with 11025
That doesn't work properly for me neither
with Goblins nor with some other games.
Making it a run-time option will help much
better.

Now for sure, my i810 driver sucks. Do you know if there is:
- an alternative ?  (I'm using kernel 2.4.23)
You said it is ALSA. ALSA is not included in
2.4.any kernels. Either you used a standalone
ALSA modules or you are using an OSS driver.

- an incompatibility between it and DosEMU ?
Dosemu needs all the OSS functionality present
and working accordingly to an OSS (sparse) docs.
Otherwise expect troubles.

- a place where I could report the problem to the i810 driver guys ?
For the OSS drivers that should be
[EMAIL PROTECTED] (I don't think
they'll care about an i810 though), for ALSA -
see their site www.alsa-project.org.
But you should mention your xmms problems
there as mentioning dosemu problems anywhere
is a sure way to get the bug report ignored:)
Dosemu is known to be incompatible with
everything in this world and most people simply
don't care about it any more.
--- linux_sound.c       Sun Oct  5 16:37:44 2003
+++ linux_sound.c       Mon Oct  6 22:14:37 2003
@@ -278,7 +278,7 @@
         result = 0;
         if (ioctl (dsp_fd, SNDCTL_DSP_SAMPLESIZE, &bits)<0) {
            S_printf ("SB:[Linux] Warning: ioctl() (SAMPLESIZE) failed: %s\n", 
strerror(errno));
-           result = -1;
+//           result = -1;
         }
         if (linux_set_OSS_fragsize(sound_frag) == DMA_HANDLER_NOT_OK) {
            S_printf ("SB:[Linux] Warning: failed to change sound fragment size.\n");

Reply via email to