А вопрос какой?
--------------------
Атрибуты бывают всего в двух состояниях - отображаемые как пустое знакоместо или неотображаемые вовсе. Четвёртый параметр команды Сброс (ВГ75) состоит из M_F_CC_ZZZZ, где F это Field Attribute Mode. 0 = Transparent, 1 = Non-Transparent.
Если атрибуты отображаются как пустое знакоместо, то размер пересылаемых данных контроллером ПДП в стандартном случае равен X*Y знакомест (так как раз сделано в моём примере, ведь тогда речь шла только о количестве линий в строке и количестве строк в экране). Если атрибуты не отображаются, то есть несколько способов.
Например, увеличить размер ПДП на количество атрибутов в экране. Но тут экран опять уплывёт если добавить/убрать атрибут в экранную область в дальнейшем.
Можно поместить в конец экранной области спецсимвол 0xF3 (Конец экрана, стоп ПДП). Тогда ничего никуда уплывать не будет, сколько атрибутов не добавляй/убирай. Но могут наблюдаться сдвиги строк.
Или ставить в конце строк спецсимвол 0xF1 (Конец строки, стоп ПДП).
В любом случае это требует некоторого опыта, навыков и трюков. На примере Болдера очень хорошо видно, что атрибут включён в начале строки и выключен в конце. Именно поэтому мы и наблюдаем полосатое цветное поле (как в некоторых играх на атари 2600) и персонажа меняющего цвет при перемещении вверх-вниз. Там ведь не сделаны разным цветом камни, алмазы, стены, и сам персонаж. В таком виде это аналог цветных накладок на экраны в древних чёрно-белых игровых автоматах. Иначе это потребует виртуозного программирования и пересчётов экрана во время самого игрового процесса (у vinxru были такие примеры).





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