Well, may be this is not the perfect place to open this topic, but this is one of the possible ones.
One of the constants of the ST / STE system is the number of CPU cycles per VBL in PAL at 8 MHz: 160256 that correspond to 313 lines at 512 cycles each.
Something that is not constant anymore is the CPU clock even for 8 MHz versions. I have read somewhere that most of the STs have a 8021247Hz crystal. Mine, from 1986, has a 8007100 Hz crystal. What value are you using in Hatari ?
The MFP crystal i have is a 2457600 Hz one. Do you know if there are other versions ? What value are you using in Hatari ?
Finally, the STE DMA sound is said to work at maximum 50066 Hz and to have low-pass filters after that at 40% of the used replay rate according to the addendum and other HW info found on the Net. For those who have ever run Hextracker, one can see a calculated DMA performance assuming that the MFP crystal is really 2457600 Hz. With STeem, one gets around 50200 Hz. With SainT, one gets around 50100Hz. With Hatari, one gets 50069 Hz.
The thing is that the HW doing the Sound DMA job probably only has a simple counter to divide either the video master clock of 32 MHz or the CPU clock. To respect the MMU refresh rates, if the counter is related to the video master clock then its value has to be even. What if the sound DMA was working once every 80 or 160 CPU cycles depending if one byte or one word is read at once in stereo ? In that case the DMA rate would be exactly in line with the CPU clock. But if we use 8021247 Hz for the CPU, then the maximum DMA rate would be: 8021247 / 160 = 50133 Hz.
If the rate is really 50066 Hz and it is related to the CPU clock, then that CPU clock would be 50066 * 160 = 8010560 Hz.
How are you doing it in Hatari ? Do you have the sound DMA rate independent of the 8 MHz STE clock ?
I hope to have a SW test soon to check if the CPU and Sound DMA are related or not.
Thanks for any help you could provide.
Bye,
Paulo.
PS: My first version of CPU test tells me STeem is running at 8 MHz sharp with the Sound DMA at 50200 Hz while Hatari and SainT are running above 8 MHz but with variable results due to the handling of high frequency interrupts.
In the case of SainT, the values i get lead to a frequency of around 8,114 MHz with a Sound DMA at around 50100 Hz.
In the case of Hatari, the values i get lead to a frequency of around 8,149 MHz with a Sound DMA at around 50068 Hz.
Of course if the high frequency interrupt handling is not ok, then these values may be completly wrong ...

So aparently no relation between Sound DMA rate and CPU clock with the emulators.
The same test works on my real STF giving it a value of 8006805 Hz for a real crystal of 8007100 Hz !!!
I have to try with less frequent interrupts.