Глюк AZBK исправлен, клавиатуда и т.д.
Вчера @maxiol вплотную занялся изучением причин глюка с несинхронным применением изменений регистров скролла, сменой адреса отображаемой видеопамяти и, собственно, отображением этой видеопамяти.
Блог разработчика
Вчера @maxiol вплотную занялся изучением причин глюка с несинхронным применением изменений регистров скролла, сменой адреса отображаемой видеопамяти и, собственно, отображением этой видеопамяти.
Доделал начальную широкоэкранную заставку и прицепил ее к игре. Написал код, который крутит заставку вправо-влево изменяя регистр горизонтального скролла AZBK и тут вылезла проблема — картинка дергалась при перемещении. Не постоянно, а иногда застревала
Сегодня завершилась эпопея с выводом текста спрайтами с помощью блиттера AZBK. Изначально все казалось просто, да и теперь так выглядит, но подводные камни все-таки были.
Добавление новых звуков сподвигнуло на давно назревший перенос звуков и самого движка в память AZBK. Основной обработчик прерывания по вектору 100 (кадровое прерывание) расположен в основной памяти БК, конечно.
Сегодня весь день доделывал недостающие звуки — взятие бонусов 200, 800, 1600 очков, звук перехода из уровня в уровень, звук проигрыша и т.д. Авторы, конечно, не заморочились музыкой — довольно бредовые присвистывания вместо нее. Думаю, не стоит ли воспользоваться фишкой AZBK по проигрыванию оцифровок в фоне через DMA и добавить-таки музыку? Получится глобальная демонстрация возможностей девайса 🙂
Так как в AZBK аж 32 мегабайта памяти, то очистка нужных областей (буферов экранов, к примеру) может занимать довольно ощутимое время. В Дейве это заметно при загружке нового уровня — надо почистить два экранных слоя.
Плохая новость — решил сдохнуть жетский диск, на котором у меня вся разработка. Пока что он еще читается и в это время идет бэкап. Да и сами исходники я каждый день бэкапил на NAS и в облако, так что потерь никаких не будет. Но это не отменяет тот факт, что один из двух дисков в моем компе загнулся.
Процесс реализации перехода между лабиринтами затянулся. И причиной тому были тормоза, обнаруженные при запуске второго уровня. Монстров там гораздо больше, причем новых видов — там уже есть Липучки и Пауки. В связи с этим, я начал пытаться ускорить движок, перенося код в более быстродействующую память AZBK. Это потянуло за собой многочисленные изменения и, конечно, новые глюки.
Свежие комментарии