Ремиксы
Примерно такие ремиксы получаются для вывода музыки на спикер 🙂
Блог разработчика
В процессе работы над звуками для «пищалки» я думал немного подрезать эти самые однобитные оцифровки, сделанные еще в 90х, чтобы они были покороче и не особо тормозили движок. А потом решил проверить как они звучат на «железной» БК… И оказалось, что та самая разница в скорости между эмулятором и реальной БК+СМК с успехом компенсирует «спикерную» нагрузку на проц. На БКшке оцифровки звучат только в путь! Оставлю как есть.
Пока неясно что делать с музыкой на заставках — этот способ воспроизведения музыки (одновременно с игрой) не особо позволяет играться с длительностями нот, а в музыке от Принца те еще навороты. Короткие мелодии (при взятии меча или кувшина) мне еще удалось более-менее выправить, а вот что-то длинное наверное превратится в трешовый ремикс 🙂 Попробую набрать какой-нибудь музон и проверить.
Сделал выбор устройства вывода звука по клавишам АР2+S:
Осталось добавить все эти самые звуки для спикера и музоны написать 🙂
Ну и все, собственно.
Решил все-таки сделать вывод звука на пищалку. По большей части потому что жалко готовые звуки, которые мы добывали выводом на принтер. Звуки, правда, были не все, пришлось доделать недостающие. А вот музыки для встроенного динамика вообще не было. Решил попробовать использовать редактор Савина «Клавесин». Но вот сам вывод музыки одновременно с игрой… Попытки воспроизводить музыку по прерыванию таймера провалились — в итоге звук был с явным фоном около 50Гц, что и понятно — таймер как раз 48Гц. В итоге я решил попробовать вывод музыки не квантами по таймеру, а все-таки нотами, с каждым кадром движка по одной ноте. Пришлось переписать музыку нотами минимальной длительности. Попробую, думаю, если будет фигня — ну и хрен с ним, пусть музыка остается на AY.
Попробовал и вдруг понял, что такое странное звучание музыки я уже слышал…. в видеороликах «Prince of Persia на Apple 2». Прикольно, конечно))
Вывод на спикер больше нагружает проц и с ним Принц бегает уже не так плавно. Лучше играть с AY 🙂
Вот что получилось у меня:
Вот как звучит на Apple:
Фиксим последние (надеюсь) баги:
Сделал автоопределение среды, в которой запущен Принц — эмулятор или реальная БК. Для эмулятора и железа используются разные задержки для смены палитр на лету и переключения экранов. Пришлось повозиться, т.к. процедура «записать в 177702 — прочитать из 177702» почему-то не всегда вызывает прерывание по вектору 4 на моей БК. Особо разбираться не стал, т.к. записанное значение из этого регистра все-таки не читается, а в эмуляторе читается. От этого факта и пляшем. Попутно пофикшены баги:
По совету Manwe задействовал вторую кнопку джойстика. В итоге управление от джойстика теперь выглядит так:
В виде текста выглядит громоздко, но на самом деле все интуитивно понятно (я надеюсь). Кроме того, джойстиком теперь можно пропускать заставки и выходить из режима «Пауза».
Все кнопки можно переназначить: режим настройки джойстика вызывается по комбинации АР2+J в любой момент игры (кроме заставок).
Клавиатуру, кстати, тоже можно переназначить (АР2+K).
Отдал Принца на тесты и уже получил несколько «приветов». Что ж, буду фиксить 🙂
Ну, не все так плохо, знавали мы глюки и похлеще ))
Сегодня исправил несколько багов, обнаруженных Yellow Rabbit и мной:
А также занимался грандиозным делом — подбирал на железной БК задержки для смены палитр «на лету». Занятие не для слабонервных. Но мне удалось их подобрать! Теперь надо сделать определение среды запуска «эмулятор/железо» и применять те или иные тайминги. Так как я весь вечер гонял Принца на железной БК, то могу сказать, что Принц на железе работает шустрее, чем в эмуляторе. Очень заметно 🙂 Прям радует.
Сегодня:
Осталось сделать задержки для реала и разобраться с выводом звука на обычный динамик. Похоже, эпопея подошла к концу 🙂
Свежие комментарии