Если не ориентироваться на применение проигрывателя в программе, а смотреть на него как на отдельную задачу, то получается офигенный результат. Развернул циклы - избавился от внутреннего счетчика. Убрал все балластные команды (теперь основной цикл и без них ровный). Основной цикл ускорился настолько, что стал быстрее цикла спековского проигрывателя. Пришлось пересчитать периоды нот. Плата за все это - всего то 10 Кб памяти.
Кода Максима Китченко здесь уже совсем нет. В V3 была пауза, которая не использовалась.




Ответить с цитированием