Я думаю не надо ничего боятся. Система "Метеор График" взлетит, если найдутся благожелательные люди, которые будут хорошо понимать её, хорошо разбираться в чужом коде. Светлые хакеры-адаптатеры. Создатель игры делает версию для 128К, выражает желание получить версию под метеор. Возможно даёт расширенные ресурсы, более многозветную графику и спрайты, может и звук. И через какоето время оценивает результат.
А если ещё какие-нибудь среды разработки игр (чурера, AGD) смогут компилировать игру, которая при запуске детектит "Метеор" и патчует игру для его использования. Это-же вообще бум будет!
А палитры - хорошее дешёвое средство, для некоторых игровых и демонстрационных применений. Как сделать мигающие точки врагов на карте? Либо ты перерисовываешь пиксели, либо рисуешь их мигающим цветом. Как легко сделать, чтобы одни и те же униты красного игрока имели на спрайтах красные флаги, а синего игрока - синие флаги. Нарисовать бегущую каёмочку. Бегущий ручеёк.
Больше возможностей и только один недостаток - надо уметь этим пользоваться, и не ленится делать инструменты для конвертации.
---------- Post added at 16:28 ---------- Previous post was at 15:47 ----------
Может даже ещё упростить проект. Смотрите:
16 бит на пиксель.
8 палитр 256 цветов (по 24 бита 8r8g8b или 15 бит 5r5g5b или 16 бит 8wite4[-r]4[-b] неважно)
4 настройки режима отображения на выбор. В настройке режима просто номера пикселей, для формирования байта цвета. 4 Варианта 8-ми четырёхбитных значений. 4*8*4=128 бит=16 байт
Настроил их, и переключай в игровом процессе.
допустим, режим 0 видим фон (биты 12,13,14,15) и спрайты первого экрана (0,1,2,3). 8 бит идут адресом в палитру. Цвет получаем и пиксель готов. То что бит 12 означает будет ли фон перед спрайтом или за ним заложено при формировании палитры.
Выбираем 2 палитры (одну из восьми) палитру для рисования и палитру для отображения.
Про палитру отображения уже понятно.
Инструмент. При записи в ПЗУ, карта помня адрес прошлой записи в ПЗУ если ячейка та-же, то циклически пишет принятый байт в 8-ми байтовый буфер кисти. Если адрес другой, то скидывает буфер в нужные пиксели, согласно палитре инструмента (для каждого пикселя 8 бит из каждого соответствующего бита байта буфера кисти ) Логика работы инструмента прописана при программировании кода, заполняющего палитру. На выходе из палитры 16 бит маски - какие пиксели менять и 16 бит значений. (возможны варианты)
Допустим 8 инструментов прописали при инициализации игры, и переключаем их в зависимости от того, рисуем ли мы спрайт на первый слой, на второй слой, рисуем ли мы фон, рамку, задаём ли уровень фона (перед спрайтами или за).
На первых порах даже такая минимальная конфигурация позволит переделать много игр, устранить клешинг, немного добавит эффектов и новых цветов. И вроде не очень сложно для понимания, вот я одним залпом придумал и написал. В моей голове вроде пока всё сходится, конечно будут нюансы, но ворожу что решаемы.
Имея такую простую карту, уже можно отработать схемы: выход VGA, перехват факта записи из Z80 в ПЗУ. Убедиться что эти части работают. Посмотреть скольких людей мы заинтересуем, которые изучат возможности и сделают переделки игр, или новые. То есть откусим хороший кусок от конечного продукта.
Кусать надо так, чтобы можно было прожевать.
---------- Post added at 16:45 ---------- Previous post was at 16:28 ----------
Ещё чуток офтопа, тем кто хочет куснуть много.
Допустим у нас магазин трусов, и приходят клиенты, жалующиеся, что нет карманов, коротко, ткань тонкая нет петелек для ремня и ширинка не на молнии. Ребята, вам в магазин брюк.[свернуть]