Ну где ж ды был с этими ссылками до этого? =)
В общем это все плееры STC, то есть более-менее то же самое.
- - - Добавлено - - -
Вообще удивительно как много усилий требуется для проигрывания музыки. У нас сейчас есть две противоположности -- модуль + плеер, где вся обработка делается в плеере vs полностью декодированный модуль в виде регистрового дампа. Оба варианта далеки от идеала. Плеер требует вычислений в 2+ раза больше, чем распаковка 14 потоков регистровых дампов в условиях, приближенных к RTOS, а распаковщик регистровых дампов требует вагон памяти. Ну и тоже не совсем бесплатный по времени.
Плеер я не изучал детально, но видно, что там выполняется много движений для доступа к неудобно расположенным данным в таблицах типа чего-нибудь со смещением 7, лукапы по 16-битным ссылкам и тому подобное. Такие вещи как нарочно придуманы чтобы обидеть 8080, которому все это дается со скрежетом зубовным.
Может быть можно сделать иначе -- пережевывать модуль заранее во что-то промежуточное, что и не модуль удобный для редактирования, но еще не совсем регистровые дампы? Или они и так уже достаточно низкоуровневые и ничего принципиально изменить тут нельзя? Или там в принципе все и так норм, просто надо написать плеер думая как 8080, а не как z80, и все будет хорошо?
- - - Добавлено - - -
Проверил плеер DemonID7 - тут. (Upd: убрал "эквалайзер"). Большинство фреймов ~ 30 строк, периодически проседает до 45, а один раз поймал на 58.




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