Мультиколор — различия между версиями

Материал из SpeccyWiki
Перейти к: навигация, поиск
м (Ссылки)
Строка 1: Строка 1:
'''Multicolor''', '''Мультиколор''' - программный трюк, позволяющий обойти ограничение на количество цветов, отображаемых в [[знакоместо|знакоместе]] [[256x192|стандартного]] видеорежима. Заключается в изменении атрибутов (или переключении текущего экрана, или комбинации этих двух действий) во время прохода луча развёртки по растру.
+
'''Multicolor''', '''Мультиколор''' - то особый режим вывода изображения на телевизор/монитор, к которому подключен [[ZX Spectrum]], и/или аппаратная доработка, делающая это автоматически.
 +
 
 +
Возможность создания Milticolor на обыкновенном ZX-Spectrum заключается в следующем.
 +
 
 +
Вывод картинки на экран телевизора/монитора происходит с частотой в 50 Герц генератором видеоизображения после прихода сигнала маскируемого прерывания. Луч развёртки экрана монитора/телевизора начинает трассировать видеоизображение. Он доходит до экранной области и каждое знакоместо экранной области проходит 8 раз - сверху вниз по пиксельной линии. При каждом проходе содержимое атрибутной области читается заново. После первого прохода луча по знакоместу, содержимое атрибутной части может быть изменено. Это приведёт к тому, что при повторном проходе луча будут использованы другие, нежели в предыдущий раз, цвета. Таким образом, быстро изменяя содержимое атрибутной области, можно получить знакоместо, в котором атрибутами будут задаваться цвета отдельной полоски точек 1x8. Этот эффект и получил название ''Multicolor''.
 +
 
 +
Так как, в отличие от [[256x192|стандартного экрана]], в Multicolor'е атрибуты задаются более плотно (на область 1x8 пикселей, вместо 8x8 для [[256x192|обычного]] режима), то картинки и программы, использующие Multicolor смотрятся более красочно и ярко. Поэтому он используется в различных программах, например в Demo, играх и т.д. Сочетание эффектов [[Gigascreen]] и Multicolor позволяет создать на экране монитора/телевизора чрезвычайно красочное изображение - в таком случае каждая из областей 1x8 окрашиваются одним из 102 цветов фона (PAPER) и тона (INK).
  
 
На разных моделях [[ZX Spectrum]] требуется разная настройка задержек для синхронизации мультиколора с развёрткой. Большинство программ, работающих с мультиколором, поддерживают развёртку компьютера [[Пентагон]].
 
На разных моделях [[ZX Spectrum]] требуется разная настройка задержек для синхронизации мультиколора с развёрткой. Большинство программ, работающих с мультиколором, поддерживают развёртку компьютера [[Пентагон]].
  
[[Турбо-режим|Нетурбированные]] модели ZX Spectrum не могут заполнить все 32 байта атрибута графической строки произвольными данными за время, пока строка прорисовывается. Код типа
+
[[Турбо-режим|Нетурбированные]] модели ZX Spectrum не могут заполнить все 32 байта атрибутов знакомест графической строки произвольными данными за время, пока строка прорисовывается. Код типа
 
  LD HL,<пара байт>
 
  LD HL,<пара байт>
 
  LD (<адрес на экране>),HL
 
  LD (<адрес на экране>),HL
может обновить до 8 пар байт (16 байт) за строку, или до 20 байт, если первые 2 строки каждого знакоместа заполнены заранее в двух экранных областях. Более сложный код, работающий со стеком, позволяет отобразить мультиколор шириной до 24 байт на компьютере [[Пентагон]] (длина строки - 224 [[такт]]а).
+
может обновить до 8 пар байт (16 байт) за строку, или до 20 байт, если первые 2 строки каждого знакоместа заполнены заранее в двух экранных областях. Более сложный код, работающий со стеком, позволяет отобразить мультиколор шириной до 24 байт на компьютере [[Пентагон]], что считается теоретическим пределом.
  
Конвертор [[Con18]] позволяет ограничивать число пар байт, изменённых в течение одной строки, значением 8. Получившуюся картинку (формат .mc) можно посмотреть программой [[MCX Viewer]]. Аналогичная возможность есть при конверсии в [[Double-Screen]] мультиколор (формат .mcx).
+
== Некоторые данные ==
 +
*Луч развёртки проходит одну строку растра при стандартной тактовой частоте (3.5 МГц) за 224 [[такт|такта]] процессора (в некоторых [[Клоны ZX Spectrum|моделях]] может быть меньшее значение).
 +
*Экран начинается лишь спустя 80 строчек, которые заполняются цветом бордюра [[Бордюр|бордюр]]
 +
*Максимально возможная область произвольных данных для Multicolor по ширине для безвайтовых [[ZX-Spectrum]] типа [[Пентагон]] 24 знакоместа, для вайтовых - 22.
 +
*Даже для стандартной частоты ЦП возможно получить полноэкранный мультиколор с некоторыми ограничениями. Так, например, конвертор [[Con18]] позволяет ограничивать число пар байт, изменённых в течение одной строки, значением 8. Получившуюся картинку (формат .mc) можно посмотреть программой [[MCX Viewer]]. Аналогичная возможность есть при конверсии в [[Double-Screen]] [[Multicolor|мультиколор]] (формат .mcx).
  
 
== Конверторы ==
 
== Конверторы ==

Версия 15:35, 9 октября 2007

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)

Редакторы

Игры

Ссылки