Графические режимы ZX Spectrum - ZX Spectrum graphic modes
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
В ZX Spectrum обычно считается имеющим ограниченные графические возможности по сравнению с некоторыми другими домашние компьютеры той же эпохи, такой как Коммодор 64 во многом из-за отсутствия специального графического чипа. Тем не менее, на протяжении всей своей коммерческой жизни и последующей деятельности на демосцена были разработаны различные методы, обеспечивающие (или имитирующие) улучшения графического вывода Spectrum.
Цветовая палитра
В ZX Spectrum (и совместимые) компьютеры используют вариацию философии 4-битной палитры RGBI. Это приводит к тому, что каждый из цветов 3-битной палитры имеет основной и яркий вариант, за исключением черного. В яркий половина палитры создается с использованием максимальных уровней напряжения видеодисплея для каждого из трех цветовых компонентов R / G / B, используемых цветом. В основной половина палитры отображается простым уменьшением этих напряжений.
В кодировке ZX Spectrum компоненты цвета расположены в порядке GRB (от старшего к младшему разряду), а не в более общем порядке RGB. Порядок GRB имеет то преимущество, что номера цветов упорядочиваются путем увеличения яркость, поэтому при просмотре на черно-белом дисплее упорядоченная последовательность от 0 до 7 будет формировать градиент от черного к белому. В частности, синий имеет двоичный вес 1, красный имеет вес 2, и зеленый имеет вес 4. Как и любое двоичное число, эти веса складываются для получения единственного десятичного числа, соответствующего отображаемому цвету, влияние которого можно увидеть в таблице ниже (обратите особое внимание на столбец «двоичное значение» ).
Для любого значения п от 0 до 7 следующие команды могут использоваться для установки или изменения цвета экрана:
- ГРАНИЦА п, цвет окружающей области за пределами основного растрового изображения.
- БУМАГА п, цвет фона (битовое значение 0) цветовой ячейки, которую нужно изменить.
- Чернила п, цвет переднего плана (битовое значение пикселя 1) для изменяемой цветовой ячейки.
Кроме того, команду ЯРКОСТЬ можно использовать для изменения настройки флажка яркости команд БУМАГА и ЧЕРНИЛА ( я в RGBя), предоставляя им доступ ко всей палитре из 15 цветов. Настройки «0» и «1» включают и выключают яркий режим (соответственно). Поскольку только один бит в байте атрибута цвета используется для выбора яркости как цвета переднего плана, так и цвета фона в цветовой ячейке, невозможно выбрать оба яркий и основной цветовые режимы в одной цветовой ячейке. Команда ГРАНИЦА не использует яркий флаг, поэтому только восемь основной цвета поддерживаются.
Считая от младшего до самого старшего бита, байт атрибута выделяет три бита для цвета переднего плана, три бита для цвета фона, один бит для яркого флага и один бит для эффекта мигания (что заставляет видеодисплей чередовать передний план и цвет фона периодически).
номер цвета Двоичное значение ЯРКИЙ 0 (RGB) ЯРКИЙ 1 (RGB) название цвета EGA / VGA 16col. эквивалент BRIGHT 0 EGA / VGA 16col. эквивалент BRIGHT 1 0 000 #000000 #000000 черный 0 0 1 001 # 0000D7 # 0000FF синий 4 12 2 010 # D70000 # FF0000 красный 1 9 3 011 # D700D7 # FF00FF пурпурный 5 13 4 100 # 00D700 # 00FF00 зеленый 2 10 5 101 # 00D7D7 # 00FFFF голубой 6 14 6 110 # D7D700 # FFFF00 желтый 3 11 7 111 # D7D7D7 #FFFFFF белый 8 15
Цвет BRIGHT BLACK был не во всех моделях эмуляторов ZX Spectrum и ZX Spectrum (но можно регулировать палитру в нескольких эмуляторах (например, EmuZWin, ZX Spin), включая яркий черный).
- цвета, смоделированные как RGB, считаются неяркими при напряжении 85% (0,55 В) и яркими как 100% (0,65 В).[1] Просмотр на дисплее PAL будет зависеть от гаммы, и поэтому неяркие значения будут светлее. В каждой модели ZX Spectrum использовалось разное напряжение для цветов, поэтому значения здесь только ориентировочные.
0,00,00 | 0,00,01 | 0,00,02 | 0,00,03 | 0,00,04 | 0,00,05 | 0,00,06 | 0,00,07 |
0,01,00 | 0,01,01 | 0,01,02 | 0,01,03 | 0,01,04 | 0,01,05 | 0,01,06 | 0,01,07 |
0,02,00 | 0,02,01 | 0,02,02 | 0,02,03 | 0,02,04 | 0,02,05 | 0,02,06 | 0,02,07 |
0,03,00 | 0,03,01 | 0,03,02 | 0,03,03 | 0,03,04 | 0,03,05 | 0,03,06 | 0,03,07 |
0,04,00 | 0,04,01 | 0,04,02 | 0,04,03 | 0,04,04 | 0,04,05 | 0,04,06 | 0,04,07 |
0,05,00 | 0,05,01 | 0,05,02 | 0,05,03 | 0,05,04 | 0,05,05 | 0,05,06 | 0,05,07 |
0,06,00 | 0,06,01 | 0,06,02 | 0,06,03 | 0,06,04 | 0,06,05 | 0,06,06 | 0,06,07 |
0,07,00 | 0,07,01 | 0,07,02 | 0,07,03 | 0,07,04 | 0,07,05 | 0,07,06 | 0,07,07 |
1,00,00 | 1,00,01 | 1,00,02 | 1,00,03 | 1,00,04 | 1,00,05 | 1,00,06 | 1,00,07 |
1,01,00 | 1,01,01 | 1,01,02 | 1,01,03 | 1,01,04 | 1,01,05 | 1,01,06 | 1,01,07 |
1,02,00 | 1,02,01 | 1,02,02 | 1,02,03 | 1,02,04 | 1,02,05 | 1,02,06 | 1,02,07 |
1,03,00 | 1,03,01 | 1,03,02 | 1,03,03 | 1,03,04 | 1,03,05 | 1,03,06 | 1,03,07 |
1,04,00 | 1,04,01 | 1,04,02 | 1,04,03 | 1,04,04 | 1,04,05 | 1,04,06 | 1,04,07 |
1,05,00 | 1,05,01 | 1,05,02 | 1,05,03 | 1,05,04 | 1,05,05 | 1,05,06 | 1,05,07 |
1,06,00 | 1,06,01 | 1,06,02 | 1,06,03 | 1,06,04 | 1,06,05 | 1,06,06 | 1,06,07 |
1,07,00 | 1,07,01 | 1,07,02 | 1,07,03 | 1,07,04 | 1,07,05 | 1,07,06 | 1,07,07 |
Дизеринг
Эта довольно короткая цветовая палитра побудила художников-графиков (например, в ZX-Art ) прибегать к различным техникам дизеринга; самый простой из которых использует упорядоченные шаблоны, как подробно показано на противоположной диаграмме. Дизеринг также очень хорошо работает с оригиналом. Композитное видео подключение к аналогу PAL TV, генерирующий смешение цветов по горизонтальным линиям пикселей.
Стандартный режим
Аппаратная реализация
Оригинальный ZX Spectrum имеет разрешение экрана 256 × 192 пикселей. Информация о цвете накладывается на это в виде сетки из областей 8 × 8 пикселей, известных как блоки атрибутов; в каждом блоке атрибутов можно использовать только два цвета из 8 палитры (черный, синий, красный, пурпурный, зеленый, голубой, желтый и белый). Кроме того, весь блок атрибутов может быть обозначен как «яркий», что дает всего 15 возможных цветов (потому что и яркий, и темный черный цвет имеют один и тот же цвет # 000000). Во многих программах это ограничение проявлялось как конфликт атрибутов.
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 32 × 24
- цвета: 15
Фактическое разрешение при подключении композитного видео
Из-за ограничений оригинала Композитное видео подключение к аналоговому PAL TV, соседние пиксели фактически были размыты по горизонтали. Результирующее разрешение зависело от качества телевизора и цветовых комбинаций, используемых для каждого конкретного изображения, но в большинстве случаев было примерно ~ 128x192.
Этот эффект использовался для увеличения количества отображаемых цветов на экране почти всеми графическими дизайнерами с помощью техники дизеринга. Таким образом становится возможным почти 64 цвета. Некоторые эмуляторы предоставляют своего рода «размытие» изображений, пытаясь имитировать этот эффект.
- Подробности:
- Пиксели: ~ 128 × 192
- Атрибуты: 32 × 24
- цветов: ~ 128 (с учетом дизеринга и ярких / неярких цветовых вариаций)
Монохромные телевизоры и мониторы
Используя монохромный монитор или черно-белый телевизор (или уменьшив настройки цвета цветного телевизора), можно воспользоваться преимуществами различий в интенсивности в цветовом диапазоне Spectrum для создания изображения в градациях серого с 15 оттенками при разрешении 256 × 192.
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 32 × 24
- цвета: 15 оттенков серого
Цветной (атрибуты 8x1)
Аппаратная реализация
Несколько сторонних клонов Spectrum, включая Timex Sinclair машины и Пентагон, поддерживают режим экрана, в котором блоки атрибутов имеют размер 8 × 1 пиксель, а не обычные 8 × 8. Экран в этом режиме занимает 12 КБ ОЗУ. В случае Timex этот режим активируется командой OUT 255,2. Кроме того, этот экранный режим может быть создан с помощью интерфейса MB03 + Ultimate, дисковой системы MB-02. DMA аппаратное обеспечение (где метод известен как Мультитех), а также доступен как режим 2 на SAM купе.
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 32 × 192
- цвета: 15
Программная реализация
Атрибуты "8x1"
На других моделях Spectrum этот эффект можно воспроизвести, используя тот факт, что ULA повторно считывает атрибутивную информацию в каждой строке пикселей при генерации видеовыхода; можно записать новое значение в соответствующую ячейку памяти между последовательными строками и, таким образом, вызвать отображение другой пары цветов. Однако процессор Spectrum не достаточно быстр, чтобы писать во всю строку байтов атрибутов в одной строке сканирования, поэтому атрибуты 8 × 1 могут быть достигнуты только в 20 столбцах.[2] Этот метод известен как Цвет, Разноцветный, FLI или Радужный процессор Режим.[3]
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 32 × 192 (ограничено областью 18x192)
- цвета: 15
Атрибуты "8x2"
Разновидностью этого метода является изменение всей строки атрибутов в течение двух строк развертки, в результате чего блоки атрибутов размером 8 × 2 пикселей занимают всю ширину экрана.[4]
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 32 × 96
- цвета: 15
Атрибуты "4x1"
Особый случай включает в себя чередование двух доступных цветов для каждой ячейки атрибута по 4 пикселя каждая, что позволяет обрабатывать каждую область 4 × 1 как независимо окрашиваемый «пиксель» (хотя ограничение одного уровня яркости на ячейку 8 × 1 все еще остается в силе). эффект).
- Подробности:
- Пиксели: 64 × 192
- Атрибуты: 64 × 192
- цвета: 15
ULAplus
ULAplus совместим со стандартным дисплеем ZX Spectrum, если он используется только для изменения 16 основных цветов. Тем не менее, любое программное обеспечение, которое использует полные 64 цвета, будет запускать атрибуты «вспышки» исходного Spectrum.
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 32 × 24
- цветов: 64 (из 256)
- Машина: ZX Spectrum SE, Chloe 280SE, Chloe 140SE, ZX-Uno (www.zxuno.com), zx128u +
- Интерфейс: MB03 + Ultimate
Чересстрочная развертка / переключаемые режимы
Путем чередования двух экранов при каждом прерывании кадра (50 Гц) теоретически можно смоделировать удвоение разрешения экрана по вертикали со 192 до 384 строк.
Клоны Timex и ZX Spectrum 128K реализуют «теневую» область экрана, которую можно переключить на место с помощью одной команды OUT, и это часто используется для быстрого переключения между двумя изображениями с этой целью (хотя это также может быть достигнуто. со стандартной копией блока, но не на весь экран).
При просмотре на экране телевизора с ЭЛТ (стандарт в то время) мерцание менее заметно, чем на современном мониторе. Вот (предупреждение: связанное изображение очень быстро мигает, что потенциально может вызвать судороги у людей с светочувствительная эпилепсия ).
На самом деле этот метод не обеспечивает истинного чересстрочного отображения, так как Spectrum не может синхронизироваться с аппаратным обеспечением дисплея на таком низком уровне. Скорее, эффект больше похож на сглаживание, при этом некоторые пиксели отображаются с половинной яркостью.[3]
- Подробности:
- Пиксели: 256 × 384
- Атрибуты: 32 × 24
- цвета: 15
GigaScreen
Атрибуты (цвета) изображения чередуются на экране с частотой 50 Гц, используя для смешивания преимущества кодировки цветовой системы PAL. Таким образом, палитра увеличивается примерно до 36 цветов.[5]
Для машин Пентагона доступна аппаратная модификация, которая напрямую объединяет две альтернативные области экрана в видеосигнал, тем самым устраняя мерцание связанный с этим методом. Кроме того, методы гигаэкрана и цветного изображения могут использоваться вместе для получения еще более богатых цветных изображений; этот формат был назван DithVIDE и BZither, оба имени относятся к дизеринг методы, используемые при конвертации истинный цвет изображения в формат.
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 32 × 24
- цвета: 36
3цвет / Мультихром / RGB-3 / Межхромный
Три отдельных изображения, состоящие из красного, зеленого и синего слоев, быстро отображаются на экране одно за другим, полагаясь на постоянство зрения эффекты для объединения трех слоев в одно цветное изображение. В результате получается 8-цветное изображение, в котором каждый пиксель может быть окрашен независимо.[6]
Этот эффект моделируется на другом изображении, связанном с Вот (предупреждение: связанное изображение очень быстро мигает цветами, что потенциально может вызвать судороги у людей с светочувствительная эпилепсия ); мигание менее заметно при просмотре на экране телевизора.
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 256 × 192
- цвета: 8
Эмулированный
256 × 192, 256 цветов, «256 цветовой режим», без атрибутов
SPEC256, EmuZWin и Es.pectrum эмуляторы иметь режим экрана 256 × 192 пикселей, где каждый пиксель может быть одного из 256 цветов. Это достигается за счет увеличения размер слова эмулированных Z80 от 8 бит до 64, что делает доступным восемь бит данных для каждого пикселя; экран, таким образом, занимает 48 КБ памяти. Этот режим существует только в эмуляторе, и для его использования необходимо изменить графику программного обеспечения.
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 256 × 192
- цвета: 256
Совместимые машины и интерфейсы
Позже ZX Spectrum-совместимые машины предлагали дополнительные видеорежимы. Они основаны на стандартном режиме 256x192, но несовместимы с оригинальным Spectrum.[3]Также интерфейсы, интерфейс Spectra и MB03 + Ultimate Интерфейс расширяет возможности дисплея Spectrum для поддержки большего количества цветов и / или дополнительных видеорежимов.
512 × 192 монохромный
Этот режим в основном использовался для отображения текстового экрана размером 64 × 24 или 80 × 24 столбцов, и только компьютеры Timex Sinclair и некоторые российские клоны могут отображать его. Для этого режима есть два графических редактора, и он поддерживается БАЗОВЫЙ 64 и некоторые CP / M реализации. Также требуется 12 Кбайт (12KiB ) БАРАН.
- Подробности:
- Пиксели: 512 × 192
- Атрибуты: нет
- цветов: 2 (четыре палитры: черный и белый, синий и желтый, красный и голубой, пурпурный и зеленый)
- Машина: Timex Sinclair, MB03 + Ultimate
512 × 192x4
- Подробности:
- Пиксели: 512 × 192
- Атрибуты: 512 × 192
- цвета: 4 (из 128) в строке
- Машина: Сэм Купе
Слой 2 (256 × 192x256)
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 256 × 192
- цвета: 256
- Машина: ZX Spectrum Next
256 × 192x16
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 256 × 192
- цветов: 16 (из 128) на строку
- Машина: Sam Coupé
384x304x16
- Подробности:
- Пиксели: 384x304
- Атрибуты: 48 × 38
- цвета: 16
- Машина: Пентагон
512x384x2
- Подробности:
- Пиксели: 512 × 384
- цвета: монохромный
- Машина: Пентагон, Timex Sinclair 2128
16c
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 256 × 192
- цвета: 16
- Машина: Банкомат Турбо, Пентагон
HAM256
- Подробности:
- Пиксели: 256 × 192
- Атрибуты: 32 × 192
- цветов: 32 в строке (от 256)
- Машина: ZX Spectrum SE, ZX-Uno
Радастан
В этом режиме отображаются пиксели двойного размера 128x96 пикселей. Каждый пиксель содержит один из шестнадцати цветов. Пиксели хранятся в линейном буфере как 4-битные. грызет (т.е. 2 пикселя на байт). Буфер имеет длину 6144 байта и занимает ту же память, что и оперативная память 256x192 пикселей.
- Подробности:
- Пиксели: 128x96
- Атрибуты: каждый пиксель имеет отдельный цвет
- цветов: 16 (из 256)
- Машина: ZX-Uno
использованная литература
- ^ http://www.zxdesign.info/ddrivedesign.shtml
- ^ https://spectrumcomputing.co.uk/index.php?cat=96&id=30003
- ^ а б c http://8bit.yarek.pl/tool/zx.extra/index.html
- ^ https://spectrumcomputing.co.uk/index.php?cat=96&id=30002
- ^ http://gfxzone.planet-d.net/articles/zx_spectrum_graphics-article_01.html
- ^ http://zxprism.blogspot.pt/2014/07/16-colour-colour-clash-free-planar-mode.html
внешние ссылки
- Графические режимы ZX-Spectrum
- Дополнительные графические режимы ZX-Spectrum
- Image to ZX Spec - утилита с открытым исходным кодом для преобразования изображений с ПК в ZX Spectrum (включая 14 режимов дизеринга)
- Retro-X - Утилита для преобразования изображений с ПК на старые машины (включает нестандартные режимы ZX Spectrum)
- Подключаемый модуль ZX GIMP А GIMP плагин, чтобы любое изображение RGB выглядело как экран ZX Spectrum.
- BIFROST * 2 Engine (многоцветный "8x1" атрибуты 20 столбцов)
- NIRVANA + Engine (многоцветный "8x2" атрибутов на всю ширину экрана)
- Коллекция графики ZX-Spectrum