Hello.

"Vlad Romascanu (LMC)" wrote:
>> Liero was setting a very small transfer size, so sometimes it 
>> happened that
>> it was not able to handle interrupt until another one is 
>> arrived, hence
>> stuttering. I worked around the problem by pausing DMA between the
>> interrupt request and acknowledge.
> Pausing until receiving the ACK is correct for SB16, but is not correct for
> SBPro-s and lower
Just to be more specific: I am only pausing DRQs, which doesn't always
mean pausing DMA, but for single mode it does. Also we are transferring
not a 1byte/request, but much more (up to 512bytes/request) to reduce
the overhead. This last detail seems to make pausing unavoidable.

About SB16: it is not emulated anyway, but why pausing is correct? I assume
that pausing DMA will result in stuttering on the real hardware. When we
have an intermediate OSS buffer, it is OK, but is the real DSP have some
intermediate buffering to allow DMA pauses? And what if the program 
doesn't care about ACKing at all? Is this possible? I assume that DSP will
still assert DRQ if it is in auto-init mode, and the output will not be stopped.
That is why when a dos program crashes, real sound card still produces a
noice forcing to reboot the compter, I suppose.

> at least one app -- I can't recall which right now,
> though -- will fail if configured for SBPro but the emulator behaves as 
> a SB16
Maybe that app just uses auto-init and doesn't ACKing? For this I have a
work-around-the-workaround: if OSS buffer is empty, but the INT was not
ACKed yet, I am forceing DRQ. Dunno if this works, however, but the post-
crashing noice is in place:)

>> BTW, quality of sound is really very good:)
> ..except it's mono... :)
Yes, but it is still better (much better) than nothing:) And, as a bonus, it
allows me to control a modem's transfer speed (sound quality depends on 
the int frequency from serial ports because I use irqtune to give a higher
priority to serial ports). So, when the sound quality is good, I know that
modem's connection is broken and I have to reconnect:)
Anyway I am going to by an USB->ISA converter as soon as there will
be a linux drivers available. They promised it within a year.
-
To unsubscribe from this list: send the line "unsubscribe linux-msdos" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to