Мультиколор
Multicolor, Мультиколор - то особый режим вывода изображения на телевизор/монитор, к которому подключен ZX Spectrum, и/или аппаратная доработка, делающая это автоматически.
Возможность создания Milticolor на обыкновенном ZX-Spectrum заключается в следующем.
Вывод картинки на экран телевизора/монитора происходит с частотой в 50 Герц генератором видеоизображения после прихода сигнала маскируемого прерывания. Луч развёртки экрана монитора/телевизора начинает трассировать видеоизображение. Он доходит до экранной области и каждое знакоместо экранной области проходит 8 раз - сверху вниз по пиксельной линии. При каждом проходе содержимое атрибутной области читается заново. После первого прохода луча по знакоместу, содержимое атрибутной части может быть изменено. Это приведёт к тому, что при повторном проходе луча будут использованы другие, нежели в предыдущий раз, цвета. Таким образом, быстро изменяя содержимое атрибутной области, можно получить знакоместо, в котором атрибутами будут задаваться цвета отдельной полоски точек 1x8. Этот эффект и получил название Multicolor.
Так как, в отличие от стандартного экрана, в Multicolor'е атрибуты задаются более плотно (на область 1x8 пикселей, вместо 8x8 для обычного режима), то картинки и программы, использующие Multicolor смотрятся более красочно и ярко. Поэтому он используется в различных программах, например в Demo, играх и т.д. Сочетание эффектов Gigascreen и Multicolor позволяет создать на экране монитора/телевизора чрезвычайно красочное изображение - в таком случае каждая из областей 1x8 окрашиваются одним из 102 цветов фона (PAPER) и тона (INK).
На разных моделях ZX Spectrum требуется разная настройка задержек для синхронизации мультиколора с развёрткой. Большинство программ, работающих с мультиколором, поддерживают развёртку компьютера Пентагон.
Нетурбированные модели ZX Spectrum не могут заполнить все 32 байта атрибутов знакомест графической строки произвольными данными за время, пока строка прорисовывается. Код типа
LD HL,<пара байт> LD (<адрес на экране>),HL
может обновить до 8 пар байт (16 байт) за строку, или до 20 байт, если первые 2 строки каждого знакоместа заполнены заранее в двух экранных областях. Более сложный код, работающий со стеком, позволяет отобразить мультиколор шириной до 24 байт на компьютере Пентагон, что считается теоретическим пределом.
Содержание
Некоторые данные
- Луч развёртки проходит одну строку растра при стандартной тактовой частоте (3.5 МГц) за 224 такта процессора (в некоторых моделях может быть меньшее значение).
- Экран начинается лишь спустя 80 строчек, которые заполняются цветом бордюра бордюр
- Максимально возможная область произвольных данных для Multicolor по ширине для безвайтовых ZX-Spectrum типа Пентагон 24 знакоместа, для вайтовых - 22.
- Даже для стандартной частоты ЦП возможно получить полноэкранный мультиколор с некоторыми ограничениями. Так, например, конвертор Con18 позволяет ограничивать число пар байт, изменённых в течение одной строки, значением 8. Получившуюся картинку (формат .mc) можно посмотреть программой MCX Viewer. Аналогичная возможность есть при конверсии в Double-Screen мультиколор (формат .mcx).
Конверторы
- Con18 (PC/Windows)
- BMP2SCR (PC/Windows)
Редакторы
- Multi-Studio 1.x и 2.x
Игры
Ссылки
- Изготовление мультиколоров - статья из ZX Format #6
- О мультиколоре вообще и MC24 в частности - статья из ZX-Guide #2