Concerning volume, a "classical" 2 voices mixing routine generally uses samples converted to 7 bits (so as the result has 8 bits).unseenmenace wrote: ↑Sat Oct 30, 2021 10:51 pm That's really cool, I'll be interested to hear how big the hit in sound quality and volume is. Not sure if I can make use of movep for buffering in my routine since it needs to be pretty adaptable for different output devices but I'll give it some thought
With the add.l approach (or add.w as mentionned by dbug), you must convert to 6 bits (and unsigned) so as the addition works correctly. Therefore the amplitude of the signal will be divided by 2, so a loss of 6dB.
In the repository containing my replay code, there are also already compiled examples (require STe and probably 1 or 2 MBytes of RAM, I can't remember), using the different techniques I have implemented (and also different MOD files for some), so you will be able to compare the sound quality difference. They are here: https://github.com/Uko-TAL/STE_FullScre ... master/Bin
And the two following test programs use the same MOD file and allow to compare the two mixing techniques:
- MPL.TOS: mix using the move.l, add.l and movep.l technique
- MPFSOV.TOS: mix using move.b, add.b, and move.b
(When launched, wait few seconds until a text is displayed, then press the space bar)
And it is the move.l, add.l and movep.l option that I have also used in my latest demo (see my signature below).