смысле они нормально отображались (в том числе на странице хостинга)
хотя были в бмп
Вид для печати
Таки запустил, теперь работает. Из принципа не пробовал в других эмуляторах, чтобы себя мотивировать на починку бага с таймером. Эх, маленькая она, я чуть больше получаса потратил. Но потенциал движка виден, есть, куда развиваться.
Детально на использование памяти не смотрел, но такое ощущение, что в основном графика. Ну и ещё про программную часть: таймер используется, хм, неожиданным образом. MOVB? CMP? В первый раз вижу что то, что другое в его отношении.
В оригинале, на Пека -- это по сути новогодняя открытка.
Игрушка неожиданным образом проверяет окончание счёта таймера -- сравнивает текущее значение счётчика с начальным командой CMP @#177706, @#177710. Хотя там же есть для этого специальный бит. И вот как раз в том режиме счёта, который она использует, я промахнулся на единичку, так что не совпадало никогда. Вот сейчас поправил.
mdk, а почему крыса а не Погги?
Неполные 16Кб БК-0010 особо не дали развернуться с размером квестовой линии, изначально она была длиннее, с доп.предметами, но потом пришлось её сократить.
В первую очередь я пытался оптимизировать код по объему. Движок занимает 4800 байт, графика - 5900, текст - 2070, 730 байт - буфер, остальное - ресурсы (описание расположения объектов игрового поля, скрипты, описание анимаций и т.п.)
Вся графика хранится в виде однобитных спрайтов, которые на лету преобразуются в двухбитные с заданным цветом и с нужным поворотом вправо или влево.
Например, спрайты главного персонажа - это 6х25 байт уже с маской - всего их 20 шт, итого 3000 байт.
Для текстов тоже пришлось уйти от представления 1 символ - 1 байт.
До последнего не хотел использовать таймер для максимальной совместимости с теми БК-0010, где таймер не работает.
Но в итоге необходимость в таймере все же возникла для выранивания времени отрисовки анимации главного персонажа на статичных участках фона и поверх фоновой анимации. Заодно таймер замедляет работу движка, чтобы скорость анимаций не была слишком быстрой.
С работой таймера знаком не был, добавил его в программу буквально за пару часов до выкладывания игры. Под мою задачу работа с таймером подобным образом мне показалось очевидной.
В регистре управления таймером (177712) - используется только младший байт, поэтому MOVB. CMP @#177706, @#177710 - вроде как, тоже допустимый вариант для используемого режима. Да и скорость и точность определения конца отсчета там роли не играют. Хотя, согласен, что это не особо изящно :)
- - - Добавлено - - -
В моем ремейке по сюжету персонажи попадают не в свою хижину, а в чужой заброшенный дом, о чем говорится в игре перед её началом. Наличие крысы вместо Погги - попытка передать атмосферу заброшенного дома :)