VOGONS


First post, by robertmo

User metadata
Rank l33t++
Rank
l33t++
Srecko wrote:

I noticed that crackles appear when using 16-bit samples (pitch dependant), while 8-bit don't cause any corruption. Probably a bug in GUS emulation.

My GUS paper manual says in Troubleshooting: wrote:
Problem: I'm having problems with the 16-bit DMA Channels. […]
Show full quote

Problem: I'm having problems with the 16-bit DMA Channels.

Cause: The default DMA channel has been changed to an 8-bit channel because a few (not all) motherboards do not have 16-bit DMA channels that operate properly. However, the 16-bit DMA channels may work fine on your computer.
The 8-bit channels are 0-3. The 16-bit channels are 4-7.
Stereo recording will be better on 16-bit channels.

Solution: Try to run UltraSound on a 16-bit channel because performance is better. By switching to a 16-bit channel, UltraSound can transfer data twice as fast.
If strange things happen with the 16-bit channel, switch back to a free 8-bit channel.

I have noticed that DOSBox uses 8-bit channels for gus (cause dma is set to 3). Maybe that is the problem?

Reply 1 of 6, by taiken7

User metadata
Rank Member
Rank
Member

I suspect the problem lies somewhere between 2 buffers - 1 is a circular buffer, the other a memory mapped buffer.
Basically 1 is "spinning" through the buffer wrapping around at the end
The other copies the block directly as if it were fixed.

Or could be fixed size buffer meets buffer with an "eof" symbol (or runlength header).

Note that this could happen just about any level so is very hard to eliminate completely.

Reply 2 of 6, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

You just shouldn't use gravis ultrasound for stream audio stick to using it for demos and intro's and use sb16 for playing 16bit streaming stuff 😀

Reply 4 of 6, by Harekiet

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Well the gus can more or less run in 2 modes, you can use it as a mod player with 1mb of samples or you can use the dma transfers to fill a little piece of of the 1 mb memory and put a sample on loop to use it like the dma playing of the soundblaster. Soundblaster will be faster than and with less clicks

And it's a nice avatar, tin tin showing bobby whose boss.

Reply 5 of 6, by Srecko

User metadata
Rank Member
Rank
Member

I wonder what exactly fast tracker 2 does here.
AFAIK, as other trackers, it uploads samples to GUS memory
and all are mixed by GUS. Clicks then appear with 16-bit,
but only some notes (i.e if they are resampled in 'hardware').
So I think it has nothing to do with DMA (more like interpolation error at the end/start of a sample or buffer?)

Btw. GUS mixing routines can mix 32 channels without a glitch, with SB it gets overloaded at much lower count.