Очень может быть, что честно портированный проигрыватель не будет сильно быстрее, а то и наоборот. Да и по размеру музыки, как понимаю, различия небольшие. Правда тут нужно 4 Кб под буфер.
Очень может быть, что честно портированный проигрыватель не будет сильно быстрее, а то и наоборот. Да и по размеру музыки, как понимаю, различия небольшие. Правда тут нужно 4 Кб под буфер.
Все это ржачно и в общем совершенно валидный оказался способ, но хотелось бы иметь какой-то нормальный плеер тоже.
- - - Добавлено - - -
Улиточный плеер отрабатывает за 43 строки в худшем случае, в случае получше -- за 29. Но это конечно крайне плохой пример для подражания.
Больше игр нет
Спасибо за подробное обьяснение! То есть вместо плеера и зажатой музыки в его формате, ты используешь многопоточный распаковщик который отправляет несжатую музыку пряма в AY?
А если сравнивать какой нибудь плеер и музыку в его формате с твоим подходом. Где будет преимуществао в скорости и объеме данных?
Именно так. Это как проигрывание семплов, только семплы у нас тут не звуковые, а регистры, которые управляют AY, а частота обновления 50 Гц.
Про объем -- размер данных в файле сопоставим, но для воспроизведения gigachad16 нужен буфер чуть меньше 4К (14 буферов распаковщика + 14 стеков).
Сравнение с единственным имеющимся у меня плеером pt2 для 8080 я привел в предыдущих сообщениях: gigachad16 5..20 строк, player-fml - 29..43. Если написать плеер честно, я думаю он будет все же заметно лучше, но пока никто этого не сделал.
Больше игр нет
>gigachad16 5..20 строк, player-fml - 29..43
Строки это команды ассемблера?
- - - Добавлено - - -
В твоём "плеере" они выполняются каждое прерывание из последовательных 14, а два следующих прерывания не тратят процессорного времени. Плюс буфер 4к. Так?
В случае с плеером pt2. 2k плеер, и не нужен буфер. Объем сжатой музыки примерно одинаков. Так?
Последний раз редактировалось parallelno; 01.08.2022 в 11:34.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Строки это строки экранной развертки. Так удобнее считать время, чем в тактах. Про прерывания и буфер правильно.
Про плеер нет. Имеющийся у нас плеер pt2 - 3067 байт и переменные его раскиданы как попало, в том числе он по-моему пишет куда-то еще в необозначенную область памяти (LA36E_ lxi sp, 08A32h etc - Достаточно взглянуть бегло на исходник). А тот плеер, про который говорит ivagor, его просто нет для 8080. Его надо сначала сделать.
Больше игр нет
parallelno(01.08.2022)
А сколько строк хороший плеер на z80 занимает про который говорил ivagor? Просто хочется узнать есть ли причина конвертить его на 8080.
Могу привести цифры для z80 с учетом векторовского торможения (смотрел в emu80). В среднем в районе 5000 тактов, максимумы (редкие) до 8000. Причина его конвертить - все же он будет несколько компактнее 14 поточного разжимальщика (думаю килобайта 3 максимум). Насколько медленнее - в худшем случае раза в полтора, если постараться - то быстрее. Но вряд ли кто-то будет стараться.
parallelno(02.08.2022)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)