Подведу итоги, что запланировано для 1 этапа расширения графики на эмуляторе и в видеокарте "Meteor Graphics":
Режимы:
Разрешение экрана 256х192 точек.
7 слоев для расширенной графики + 0 слой для стандартной. Каждый слой можно включить или выключить для отображения на экране. На выключенных слоях можно подготавливать изображение для следующего кадра игры, а затем включить.
С точки зрения программиста на экране рисуется сразу по 8 точек. Адреса байтов стандартного экрана Спектрума. Текущий слой для рисования указывается в переменной current_layer.
Для устранения клешинга атрибутов тайлы рисуют в слое с меньшим номером, а спрайты с большим и используют режим "2 цвета + маска". Для изображения спрайтов по новым координатам сначала программно стирают спрайт по старым координатам - восстанавливают прозрачность слоя.
Текущий режим цвета в переменной color_mode.
Режимы цвета для 1 ступени 1 бит на цвет точки: "1 цвет + прозрачный", "2 цвета" и "2 цвета + маска".
В расширенной графике только один байт атрибутов, а не 768. Записывается в переменную attribute - он задает цвета рисуемых далее точек.
Для режимов "2 цвета" и "2 цвета + маска" атрибут соответствует стандартным цветам.
Для режима "1 цвет + прозрачный" атрибут задает цвет закраски 1-15 + 0 как прозрачный.
Графические переменные для управления расширенной графикой расположены в области ПЗУ.
Стандартная графика: с адреса 4000, тип адресации - стандартный, байт атрибута - стандартный.
Расширенная графика: с адреса 4000, тип адресации - стандартный или с адреса 0000 с линейной адресацией, байт атрибута для режимов с 2 цветами на байт - стандартный.
Линейный режим упрощает и ускоряет вывод тайлов и спрайтов.
Вероятно, после отладки 1 этапа расширения графики, будут добавлены новые режимы и возможности. Но начать надо с минимальной конфигурации.
---------- Post added at 10:32 ---------- Previous post was at 09:42 ----------
Также как и без ReVerSE !
Ты когда угомонишься ? Не помогаешь - так хоть не мешай !





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