Re: [hatari-devel] STE DMA sound volume mixing level

[ Thread Index | Date Index | More Archives ]

Le 19/05/2022 à 12:38, Troed Sångberg a écrit :

I just had an interesting conversation on Twitter with Gunstick, gwEm and Dma-Sc. As you can guess from those nicknames, it's sound related :D

Apparently the volume is not emulated correctly (it's too high) when playing STE DMA sound. This causes issues for musicians who make YM+DMA songs - Dma-Sc even wrote he can't use Hatari for it at all. gwEm has apparently spent a lot of time with this since real Falcon and STE differ but Hatari does not.

Anyway, this seems to be a simple (? famous last words .. ) thing to correct. Maybe with a usability setting (not default) where those who want to can increase the DMA volume to "normal". I recall an investigation by Putnik a few years ago that pointed to Atari actually having thought they had the hardware config to make DMA sound and YM sound the same level, but it's just not wired up correctly on the motherboard, and was then never fixed.

Opinions? Hatari's YM emulation is so excellent now that it's sad to hear scene musicians skip using it for STE tunes. Since sc68 doesn't do STE DMA Gunstick is going to use Hatari for his radio show but needs to do post-processing because of this issue.


I agree that YM / DMA sound level were not measured on real HW to see what should be the relative level of each one compared to the other.

That's something I'm planning to do one day, but it won't be for Hatari 2.4

Of course, we could add a setting to let the user choose the mixing %-tage, but in the end I'm not really fan of this solution, because eventually there should be only one correct value : the one measured on a real STE.

But once the mixing %-tage is known , it will be indeed a very simple change to Hatari in dmaSnd.c. For example, adjust this line :

/* DMA and YM2149 mixing */
AudioMixBuffer[nBufIdx][0] = AudioMixBuffer[nBufIdx][0] + dma.FrameLeft * -((256*3/4)/4)/4;

This corresponds to a DMA sound being 3/4 of the YM output.


Mail converted by MHonArc 2.6.19+