Видеорежимы ZX Spectrum
Домашний компьютер ZX Spectrum имеет более ограниченные графические возможности, по сравнению с другими микрокомпьютерами того же времени (такими как Commodore 64), в основном, по причине отсутствия у него отдельного графического чипа. Тем не менее, за несколько лет выпуска коммерческих игр и затем активности демосцены, было разработано несколько способов улучшить графические возможности ZX Spectrum.
Содержание |
[править] Палитра
Графические режимы ZX Spectrum и совместимых с ним компьютеров опираются на концепцию 4-битной RGBI-палитры. Её можно рассматривать как 3-битную палитру плюс бит градации яркости.
| Яркость 0 | Яркость 1 | Номер | Двоичный код | Русское название | Английское название |
|---|---|---|---|---|---|
| 0 | 000 | Чёрный | Black | ||
| 1 | 001 | Синий | Blue | ||
| 2 | 010 | Красный | Red | ||
| 3 | 011 | Пурпурный | Magenta | ||
| 4 | 100 | Зелёный | Green | ||
| 5 | 101 | Голубой | Cyan | ||
| 6 | 110 | Жёлтый | Yellow | ||
| 7 | 111 | Белый | White |
[править] Стандартный режим
Единственным штатным видеорежимом оригинального ZX Spectrum является графический режим разрешением 256×192 точки, ограниченные возможности задания цвета и бордюр. Доступна только одна видеостраница, расположенная в основной памяти компьютера по фиксированному адресу. Информация о цвете задаётся атрибутами, по одному байту атрибутов на знакоместо 8×8 пикселей. Из-за такого способа задания цвета, часто проявлял себя такой эффект как конфликт атрибутов.
Отображаемый экран занимает не весь телевизионный растр, оставляя свободное пространство по краям в бордюр. В области бордюра невозможен вывод графики, только изменение его цвета (можно получать несложные рисунки изменением цвета бордюра много раз за кадр). В отличие от основной области экрана, на бордюре не может использоваться повышенная яркость.
В ZX Spectrum 128K стандартный видеорежим был дополнен возможностью использования второй экранной области в так называемого теневого экрана. Основная область находится в 5 банке ОЗУ, дополнительная в в 7 банке.
[править] Мультиколор
Мультиколор (англ. multicolor) в программный трюк, позволяющий обойти ограничение стандартного видеорежима ZX Spectrum на количество одновременно отображаемых в одном знакоместе цветов. Условно говоря, мультиколор позволяет уменьшить высоту знакоместа, вплоть до одной точки (свой атрибут для блоков пикселей 8×1, 8×2, 8×4 и т. п.).
Логика работы видеоконтроллера такова, что при проходе луча развёртки по каждой строке растра в основной области экрана происходит чтение атрибутов знакомест. То есть, при построении растра атрибут каждого знакоместа экрана читается видеоконтроллером восемь раз в по числу строк пикселей в знакоместе. Если атрибуты будут изменены между проходами луча, это приведёт к использованию для текущей отображаемой строки новых значений. Таким образом, вовремя изменяя содержимое атрибутной области экрана, можно задавать цвета для полосок 8×1 точек вместо обычных блоков 8×8.
Мультиколор 8×4 также может быть реализован с помощью теневого экрана ZX Spectrum 128K в все атрибуты обычного и теневого экрана могут быть установлены в начале кадра, далее в процессе прохода луча по растру каждые 4 строки нужно переключать видимый экран.
[править] Аппаратный мультиколор
Аппаратный мультиколор (англ. hardware multicolor либо Hicolour) в условное название дополнительного видеорежима для ZX Spectrum. Его возможности аналогичны программному мультиколору 8×1, но реализованы аппаратно, что позволяет использовать ресурсы процессора для других задач. Видеорежим штатно присутствует в компьютерах Timex Computer 2048 и Timex Sinclair 2068, а также реализован в виде доработок для Pentagon и других отечественных компьютеров.
[править] GigaScreen
GigaScreen в режим, при котором два специально подготовленных изображения часто сменяют друг друга на экране. За счёт инертности восприятия изображения глазом, два изображения сливаются, и тем самым, за счёт наложения цветов, палитра увеличивается до 102 цветов.
Для ZX Spectrum 48K использование полноэкранного Gigasreen возможно за счёт обновления атрибутной части экранной области памяти. На ZX Spectrum 128K для тех же целей задействуют теневой экран. Аппаратно режим не реализован.
[править] MultiGigaScreen
MultiGigaScreen в режим, объединяющий в себе возможности GigaScreen и мультиколор. Таким образом для атрибутов 8×1, 8×2, 8×4 и т. п. появляется возможность задать до 4-х цветов из палитры в 102 цвета.
[править] Триколор
Триколор в программно реализуемый видеорежим, при котором каждой точке можно назначить один из 8 цветов, яркость задаётся по знакоместам. Идея аналогична Gigascreen, но используется ресурсоёмкий переброс кадров из памяти, совместимый с 48kb моделью спекки. Три перебрасываемых по очереди кадра в для красного, зелёного и синего цвета RGB Частота мерцания составляет 16,6 Гц, что уже очень заметно визуально.
[править] Flash-color
Флэш-колор в режим, основанный на подачу частоты 7 Мгц вместо 1,5 Гц на сигнал мерцания flash. При этом при выводе каждого пикселя на экран подается цвет ink, затем цвет paper. Действует в знакоместах, для которых установлен бит мерцания в байте атрибутов. Путем аппаратной доработки фон делается черным, а для цвета чернил используются оставшиеся 7 бит, предоставляющие 128 цветов.
[править] 512×192
Монохромный режим высокого разрешения, реализованный в компьютерах Timex Sinclair 2068, Байт, Pentagon, и некоторых других клонах. В основном используется для текстовых режимов 64×24 и 80×24, в частности, для работы в операционной системе CP/M.
В компьютере SAM Coupé реализован режим Mode 3, 512×192 точек, 4 цвета на точку из палитры в 128 цветов. В этом режиме используются символы шириной 6 пикселей для получения 85 символов в строке.
[править] 384×304
Аппаратная доработка для Pentagon, реализующая дополнительный видеорежим с разрешением 384×304 точки[1]. При этом масштаб изображения не изменяется, дополнительная информация выводится в той области, где в штатном видеорежиме отображается бордюр. Ограничения на использование цвета аналогичны стандартному видеорежиму.
[править] ULAplus
ULAplus, ULA64 в проект замены оригинального чипа ULA ZX Spectrum 48K. Новый чип, повыводно совместимый с оригиналом, позволяет использовать на экране до 64 цветов из палитры в 256 цветов. Идея состоит в том, чтобы биты яркости и мерцания выбирали одну из четырёх палитр, содержащих по 8 цветов INK и PAPER, задаваемых программно[2][3]. Чип так и не был выпущен, но поддержка соответствующего режима присутствует в нескольких эмуляторах.
[править] Примечания
- в‘ Contact v2.06 в схема доработки 384×304 и программирование, статья из газеты AlCo News #32 (2004)
- в‘ ZX Spectrum 64 Colour Mode в Scratchpad enci Labs
- в‘ ULAplus
[править] Ссылки
- ZX-Spectrum graphics modes (англ.)
- ZX Spectrum extra graphics modes (англ.)
- Видеорежимы (рус.) на SpeccyWiki
- Коллекция графики ZX-Spectrum (рус.)
| Это заготовка статьи о компьютерах. Вы можете помочь проекту, исправив и дополнив её. Это примечание по возможности следует заменить более точным. |

