Мультиколор

Материал из SpeccyWiki
Перейти к: навигация, поиск

Multicolor, Мультиколор - программный трюк, позволяющий обойти ограничение на количество цветов, отображаемых в знакоместе стандартного видеорежима. Заключается в изменении атрибутов (или переключении текущего экрана, или комбинации этих двух действий) во время прохода луча развёртки по растру.

Нетурбированные модели ZX Spectrum не могут заполнить все 32 байта атрибута графической строки произвольными данными за время, пока строка прорисовывается. Код типа

LD HL,<пара байт>
LD (<адрес на экране>),HL

может обновить до 8 пар байт (16 байт) за строку, или до 20 байт, если первые 2 строки каждого знакоместа заполнены заранее в двух экранных областях. Более сложный код, работающий со стеком, позволяет отобразить мультиколор шириной до 24 байт на компьютере Пентагон (длина строки - 224 такта).

Конвертор Con18 позволяет ограничивать число пар байт, изменённых в течение одной строки, значением 16. Получившуюся картинку (формат .mc) можно посмотреть программой MCX Viewer. Аналогичная возможность есть при конверсии в Double-Screen мультиколор (формат .mcx).