Бордюр — различия между версиями

Материал из SpeccyWiki
Перейти к: навигация, поиск
м
 
(не показано 14 промежуточных версии 4 участников)
Строка 1: Строка 1:
'''Бордюр''', '''Бордер''' ('''Border''') - часть изображения в [[256x192|стандартном]] видеорежиме по краям экрана. В отличии от основной части может только изменять цвет (путём вывода значений в порт [[Порт 254|#FE]]). При этом возможно использование только цветов 0..7, то есть обычной яркости.
+
[[Изображение:Border.gif|thumb|320px|Полосы на бордюре, формируемые процедурой работы с лентой]]
 +
'''Бордюр''', '''Бордер''' ('''Border''') - часть изображения в [[256x192|стандартном]] видеорежиме по краям экрана. В отличие от основной части экрана эта область может только изменять цвет. Область бордюра требовалась для обеспечения нормальной читаемости символов на экранах телевизоров, которые использовались в качестве мониторов для домашних компьютеров начала 1980-х годов.
  
С помощью программных трюков возможно выводить на бордюре простые изображения, изменяя его цвет во время прохода луча развёртки по растру. Эффекты, использующие подобную технику, называются ''бордюрными эффектами''. Простейший вид такого эффекта возникает при работе стандартных процедур ввода-вывода на ленту - они формируют разноцветные горизонтальные полосы.
+
Область бордюра по вертикали занимает первые 63..80 строк от начала кадра и оставшуюся часть после 192 строк основной области. По горизонтали бордюр занимает область слева и справа от основной области. Ширина одной полной строки растра ZX Spectrum - 384 точек, из которых 256 точек в центральной части занимает основная область, а остальные точки занимает бордюр. Точные значения [[256x192#Тайминги|отличаются]] для разных моделей оригинального [[ZX Spectrum]] и его клонов.
 +
 
 +
Цвет бордюра изменяется путём вывода значений в младшие 3 бита (''D0-D2'') порта [[Порт 254|#FE]]). При этом возможно использование только цветов 0..7, то есть обычной яркости. Номера цветов совпадают с номерами, используемыми в [[атрибут]]ах.
 +
 
 +
При проходе луча развёртки по растру, при отображении каждого пикселя видеоконтроллер читает цвет бордюра из хранящего его регистра. Если изменять цвет бордюра во время прохода луча по растру, можно создавать на бордюре различные изображения. Эффекты, использующие подобную технику, называются ''бордюрными эффектами''. Схожая техника используется при формировании [[Multicolor|Multicolor'ов]]. Простейший вид бордюрного эффекта возникает при работе стандартных процедур ввода-вывода на ленту - они формируют разноцветные горизонтальные полосы.
 +
 
 +
Для синхронизации программы с ходом луча требуется использовать [[прерывание]], генерируемое видеоконтроллером в начале отображения кадра. Операция смены цвета бордюра (вывода данных в порт [[Порт 254|#FE]]) занимает 11-12 тактов процессора, один такт соответствует проходу луча по двум точкам растра. Поэтому минимальная ширина области, имеющей свой собственный цвет на бордюре примерно равна трём [[знакоместо|знакоместам]] (22-24 точки) для стандартной тактовой частоты процессора (3,5 МГц).
  
 
== Примеры ==
 
== Примеры ==
*[[Rage]] - демо с несколькими сложными бордюрными эффектами
+
*[[Rage (демо)|Rage]] - демо с несколькими сложными бордюрными эффектами
 +
*[[QARX]] - игра [[1989]] года с текстом на бордюре
  
 
== Ссылки ==
 
== Ссылки ==
Строка 10: Строка 18:
  
 
[[Категория:Видеорежимы]]
 
[[Категория:Видеорежимы]]
 +
[[Категория:Термины]]

Текущая версия на 22:09, 23 сентября 2008

Полосы на бордюре, формируемые процедурой работы с лентой

Бордюр, Бордер (Border) - часть изображения в стандартном видеорежиме по краям экрана. В отличие от основной части экрана эта область может только изменять цвет. Область бордюра требовалась для обеспечения нормальной читаемости символов на экранах телевизоров, которые использовались в качестве мониторов для домашних компьютеров начала 1980-х годов.

Область бордюра по вертикали занимает первые 63..80 строк от начала кадра и оставшуюся часть после 192 строк основной области. По горизонтали бордюр занимает область слева и справа от основной области. Ширина одной полной строки растра ZX Spectrum - 384 точек, из которых 256 точек в центральной части занимает основная область, а остальные точки занимает бордюр. Точные значения отличаются для разных моделей оригинального ZX Spectrum и его клонов.

Цвет бордюра изменяется путём вывода значений в младшие 3 бита (D0-D2) порта #FE). При этом возможно использование только цветов 0..7, то есть обычной яркости. Номера цветов совпадают с номерами, используемыми в атрибутах.

При проходе луча развёртки по растру, при отображении каждого пикселя видеоконтроллер читает цвет бордюра из хранящего его регистра. Если изменять цвет бордюра во время прохода луча по растру, можно создавать на бордюре различные изображения. Эффекты, использующие подобную технику, называются бордюрными эффектами. Схожая техника используется при формировании Multicolor'ов. Простейший вид бордюрного эффекта возникает при работе стандартных процедур ввода-вывода на ленту - они формируют разноцветные горизонтальные полосы.

Для синхронизации программы с ходом луча требуется использовать прерывание, генерируемое видеоконтроллером в начале отображения кадра. Операция смены цвета бордюра (вывода данных в порт #FE) занимает 11-12 тактов процессора, один такт соответствует проходу луча по двум точкам растра. Поэтому минимальная ширина области, имеющей свой собственный цвет на бордюре примерно равна трём знакоместам (22-24 точки) для стандартной тактовой частоты процессора (3,5 МГц).

Примеры

  • Rage - демо с несколькими сложными бордюрными эффектами
  • QARX - игра 1989 года с текстом на бордюре

Ссылки