3 ms·
The key point is that when using four tracks, the CPU basically just needed to tell the hardware where in memory a sample was, what frequency to play it at, and
by mnw21cam 3y ago
The key point is that when using four tracks, the CPU basically just needed to tell the hardware where in memory a sample was, what frequency to play it at, and how long to go for, and then the hardware would just play it over DMA with no CPU time needed. That's eminently compatible with simultaneously running a game that requires about as much CPU power as the system has available.
Once you start going in to more than four channels, you suddenly start needing to do the mixing in the CPU instead. I remember my original Amiga 500 was capable of only doing 7 channels using OctaMED (six mixed into three, and one native), so the CPU load of mixing was significant. That is why it generally wasn't possible to use more than four channels in games.
Of course, once a bit more CPU power was available, doing the mixing in the CPU became no longer a problem.
One MP3 player used a neat trick for playing sound at better than 8-bit resolution. It would play the more significant bits one one channel, then set the volume of another channel (on the same side) lower and play the least significant bits on that channel, and the hardware would keep them in absolute lock-step. (And obviously do that twice using all four channels for stereo output.)
- snvzz 3y ago>Once you start going in to more than four channels, you suddenly start needing to do the mixing in the CPU instead. I remember my original Amiga 500 was capable of only doing 7 channels using OctaMED (six mixed into three, and one native), so the CPU load of mixing was significant. That is why it generally wasn't possible to use more than four channels in games. A basic A500 can definitely handle 8ch (not just 7) on OctaMED, but not in "HQ" mode.