Графические режимы ZX Spectrum
![]() | Было предложено разделить эту статью на статьи под названием « Базовый графический режим ZX Spectrum» и «Неосновные графические режимы ZX Spectrum» . ( обсудить ) ( февраль 2024 г. ) |
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|

Оригинальный компьютер ZX Spectrum цветной графикой ( один бит на пиксель) . с растровой выдает видеоизображение Композитный видеосигнал генерируется с помощью радиочастотного модулятора и был разработан для использования с современными телевизорами 1980-х годов.
Размер изображения фреймбуфера палитрой — 256x192 пикселей , с из 15 неизменяемых цветов, причем вся цветовая палитра чрезвычайно насыщена . Разрешение цветного вывода в 64 раза ниже разрешения растрового изображения пикселей. [1] [2] Чрезвычайно низкое цветовое разрешение использовалось для экономии памяти: всего 768 байт для атрибутов цвета. Цвет хранится отдельно от растрового изображения пикселей в виде сетки ячеек размером 32x24, используя по одному байту на каждую символьную ячейку . Одна символьная ячейка состоит из 8x8 пикселей. На практике это означает, что любая символьная ячейка может использовать только два выбранных цвета для окраски содержащихся в ней 64 пикселей. [3]
Поскольку аппарат был разработан для использования со стандартным телевизором, область размером 256x192 пикселей окружена широкой рамкой, которая заполняет оставшееся пространство стандартной PAL TV видимой области экрана с низким разрешением 384x288. Обычно граница области предполагает один цвет, но с помощью программных ухищрений можно отобразить там графику с низким разрешением. [4]
В ZX Spectrum не было специального оборудования для прокрутки и спрайтов , а также специального аппаратного блиттера . Для облегчения отображения цветной графики оригинальный ZX Spectrum использует 16 КиБ дискретной графической оперативной памяти. Латентность графической памяти составляет 150 нс; пиковая пропускная способность составляет 2,1875 МБ/с (рассчитывается как 224x5/8 байт за 64 мкс). [5]
Частота кадров и тайминги
[ редактировать ]Оригинальный ZX Spectrum не соответствует строго PAL стандартной частоте кадров 50 Гц. ZX Spectrum выводит одну видеостроку ровно за 224 процессора такта , при этом тактовая частота процессора равна 3,5 МГц. Это точно соответствует стандартному времени линии PAL 64 мкс. Однако ZX Spectrum выдает только 312 строк для формирования одного кадра дисплея , тогда как стандарт PAL рекомендует 312,5 строк. Как следствие, частота кадров ZX Spectrum составляет примерно 50,08 кадров в секунду. [6]
Это несоответствие не было известно многим программистам, которые предполагали частоту кадров 50 кадров в секунду. [ нужна ссылка ] В результате некоторые программы, включая встроенный интерпретатор BASIC , работали слишком быстро. Более поздние модели ZX Spectrum имеют немного другую частоту кадров и тактовую частоту ЦП, из-за чего некоторые старые программы работают слишком медленно, если они используют вертикальную синхронизацию, или слишком быстро, если они полагаются на тактовую частоту ЦП. [6]
В начале каждого кадра дисплея маскируемый сигнал прерывания отправляется на процессор Z80 ZX Spectrum , что позволяет программам легко обнаруживать и измерять течение времени. Это также позволяет программам идеально синхронизировать вывод графики с отображением видеокадров. Это точно такой же механизм, как вертикальная синхронизация современного компьютера, который можно использовать для предотвращения разрывов изображения .
ZX Spectrum 16K, 48K и ZX Spectrum+ [7] | 128К, +2, +2А, +3 [8] | |
---|---|---|
Циклы ЦП на линию PAL | 224 | 228 |
Время линии PAL | 64 мкс | 64,28 мкс |
PAL строк на кадр | 312 | 311 |
Время кадра | 19,968 мс | 19,9915 мс |
Частота кадров | 50,08 кадров в секунду | 50,02 кадра в секунду |
Вертикальная синхронизация дисплея | доступен по маскируемой линии прерывания Z80 (INT) [9] | доступен по маскируемой линии прерывания Z80 (INT) [9] |
Структура графической памяти и координаты пикселей
[ редактировать ]Дискретная графическая память объемом 16 КиБ напрямую доступна ЦП по адресам с 16384 по 32767. Растровое изображение основного пикселя хранится в самом начале графической памяти, а массив атрибутов следует сразу за ней. [10]
Схема видеоконтроллера встроена в полузаказную Ferranti ULA интегральную схему , состоящую примерно из 480 настраиваемых ячеек (в зависимости от модели). Ячейки ULA были сконфигурированы на заводе различными способами для создания ULA для ZX Spectrum, где одна ячейка имеет функциональность примерно двух вентилей NAND. [11]
Доступ ЦП к графической памяти называется конкурирующим доступом, поскольку видеоконтроллер имеет более высокий приоритет, чем ЦП. При доступе к графической памяти ЦП обычно испытывает небольшую задержку, ожидая завершения чтения данных видеоконтроллером. [12]
Адреса в видео DRAM чередуются, что создает необычную систему координат для растрового изображения пикселей. Если координаты пикселя равны (x, y), а биты оси координат x обозначены x7, x6, x5, x4, x3, x2, x1, x0, а биты оси координат y обозначены y7, y6, y5, y4, y3, y2, y1, y0, то пиксель сохраняется в байте с битовой комбинацией адреса 0, 1, 0, y7, y6, y2, y1, y0, y5, y4, y3, x7, х6, х5, х4, х3. [13]
Битовый шаблон адреса содержит на две транспозиции больше битового шаблона, чем необходимо. Самый быстрый и простой битовый шаблон был бы 0, 1, 0, x7, x6, x5, x4, x3, y7, y6, y5, y4, y3, y2, y1, y0, что приводит к увеличению адресов пикселей по столбцу. первый. К сожалению, дизайнеры ZX Spectrum работали в условиях крайнего дефицита времени и не заметили этого простого улучшения. [11]
В то время как исходная модель ZX Spectrum 48K имеет 32 КиБ основной оперативной памяти, модель 16K имеет только 16 КиБ графической памяти. Именно по этой причине массив атрибутов цвета был спроектирован так, чтобы уместиться всего в 768 байт. Атрибуты цвета могли бы легко иметь двойное или учетверенное разрешение по вертикальной оси, но это уменьшило бы оставшуюся свободную память для программ еще на один-два килобайта, особенно в модели на 16 КиБ.
Для облегчения отображения цветной графики оригинальный ZX Spectrum использует 16 КиБ дискретной графической памяти, в отличие от архитектуры общей графической памяти большинства других микрокомпьютеров, включая Commodore 64. [ нужна ссылка ] Разрешение растрового изображения пикселей аналогично разрешению в других современных микрокомпьютерах, где популярный Commodore 64 обычно использует разрешение 160x200 с двумя битами на пиксель. [14]
Система цветовых ячеек, получившая название «атрибуты», вызвала много критики, поскольку существенно усложняла программирование цветовых приложений. [ нужна ссылка ] Тем не менее, система атрибутов цвета имела достаточные возможности для поддержки распространенных приложений и игр той эпохи, и даже очень ограниченные возможности цвета приветствовались пользователями. [ нужна ссылка ]
Цветовая палитра
[ редактировать ]
Компьютеры ZX Spectrum (и совместимые с ним) используют вариацию философии 4-битной палитры RGBI (также используемой в CGA , Thomson MO5 , Sharp MZ-800 , Mattel Aquarius и т. д.), в результате чего получается 8 основных цветов с вариациями яркости. [15] В моделях 128, +2 и +3 ULA выводит красный, зеленый, синий и синхросигнал уровня TTL , а также сигналы синхронизации, которые используются видеокодером TEA2000 для генерации композитного видеосигнала . [16] [17] [18] [19]
Каждый из цветов 3-битной палитры имеет базовый и яркий вариант. [15] Яркая . половина палитры генерируется с использованием максимального уровня напряжения видеодисплея для сигнала яркости Основная половина палитры генерируется путем простого уменьшения напряжения сигнала яркости. [20]
Оба цвета ячейки символьной ячейки должны иметь общее свойство яркости, поскольку для всей ячейки имеется только один бит яркости. Помимо этого ограничения, любую комбинацию цветов палитры можно свободно выбирать в качестве двух цветов символьной ячейки. В следующей таблице все «яркие» цвета приведены в правом столбце.
Цвет
числоБинарное значение Цвет
имяБинарное значение Цвет
имяГ Р Б я Г Р Б я 0 0 0 0 0 #000000 Черный 0 0 0 1 #000000 «Яркий» черный 1 0 0 1 0 #0100CE Синий 0 0 1 1 #0200FD Ярко-синий 2 0 1 0 0 #CF0100 Красный 0 1 0 1 #FF0201 Ярко-красный 3 0 1 1 0 #CF01CE Пурпурный 0 1 1 1 #FF02FD Ярко-пурпурный 4 1 0 0 0 #00CF15 Зеленый 1 0 0 1 #00FF1C Ярко-зеленый 5 1 0 1 0 #01CFCF Голубой 1 0 1 1 #02FFFF Ярко-голубой 6 1 1 0 0 #CFCF15 Желтый 1 1 0 1 #FFFF1D Ярко-желтый 7 1 1 1 0 #CFCFCF Белый 1 1 1 1 #FFFFFF Ярко-белый
- Некоторые клоны ZX Spectrum или машины NTSC могут отображать «ярко-черный» как темно-серый. [ нужна ссылка ]
- Яркость цветов в таблице относительна, а не абсолютна. Обычные телевизоры обычно имели гораздо более высокую яркость, чем стандартная яркость ЖК-дисплея sRGB, составляющая 80 кд/м². В абсолютном выражении цвета ZX Spectrum намного ярче цветов sRGB в таблице. «Белый» цвет ZX Spectrum такой же яркий, как самый яркий белый цвет sRGB, а «Яркий белый» превышает пределы яркости стандартного цвета sRGB.
- Приведенные значения sRGB для зеленого, желтого и голубого цвета являются лишь наилучшим приближением, поскольку дисплеи sRGB не могут воспроизводить все цвета стандарта PAL TV. Зеленый люминофор PAL выходит за пределы цветового пространства sRGB современных распространенных ЖК-дисплеев. Для большинства целей эта погрешность цвета невелика. [ нужна ссылка ]
- Цвета, смоделированные как sRGB, считаются неяркими при напряжении 84,615 % (0,55 В) и яркими — 100 % (0,65 В). [20] В каждой модели ZX Spectrum использовалось разное напряжение для цвета, поэтому приведенные здесь значения являются лишь ориентировочными. Цвета рассчитывались путем преобразования цветового пространства PAL TV в sRGB цветовое пространство . Гамма PAL 2,8 была применена в соответствии со стандартом BT.470 PAL; было применено преобразование основных цветов в основные цвета sRGB (по стандарту IEC 61966-2-1 sRGB) и стандартная гамма-коррекция sRGB (путем обратного EOTF).
- Указанные цвета, вероятно, не являются настоящими цветами ZX Spectrum. Цветовые аппроксимации были рассчитаны с учетом максимально возможной насыщенности, которую ZX Spectrum может создать на выходе PAL TV. Настоящие цвета ZX Spectrum на данный момент неизвестны. [ нужны разъяснения ] , и они, вероятно, менее насыщены. Чтобы вычислить реальные цвета ZX Spectrum, необходимо выполнить измерение фазово-амплитудного сдвига поднесущей цветности для каждого цвета с помощью осциллографа на выходе PAL ZX Spectrum. [ нужна ссылка ]
В кодировании ZX Spectrum цветовые компоненты находятся в порядке GRB (зеленый, красный, синий), а не в более распространенном порядке RGB. Преимущество порядка GRB заключается в том, что номера цветов упорядочиваются за счет увеличения яркости , поэтому при просмотре на черно-белом дисплее упорядоченная последовательность образует градиент от черного к белому.
Все свойства цвета ячейки хранятся в памяти в виде одного байта, называемого атрибутом . Считая от младшего до старшего бита, байт атрибута выделяет три бита для цвета пикселей со значением 1, три бита для цвета пикселей со значением 0, один бит для флага яркости и один бит для эффекта мигания. Эффект мигания приводит к тому, что отображаемые цвета переднего плана и фона чередуются каждые 0,64 секунды. [21]
Большинство современных эмуляторов ZX Spectrum отображают неточные и, возможно, перенасыщенные цвета. [ нужна ссылка ] Эти цвета были рассчитаны с помощью упрощенных приближений, которые не учитывают многие тонкости преобразования цветового пространства PAL в sRGB. Аналогично, на сайте ZX Art очень часто используются неточные цвета. [ нужна ссылка ] Теоретически невозможный цвет sRGB #00CD00 обычно используется в качестве зеленого цвета ZX Spectrum (т.е. реальный зеленый цвет Spectrum, вероятно, более голубоватый). [ нужна ссылка ]
БАЗОВЫЕ команды для цветов
[ редактировать ]Два цвета символьной ячейки называются цветом переднего плана и цветом фона . Для любого значения n от 0 до 7 следующие команды Sinclair BASIC можно использовать для установки или изменения цвета ячейки: [15]
PAPER n
, цвет фона символьной ячейки; применяется ко всем пикселям со значением 0 в ячейкеINK n
, цвет переднего плана для символьной ячейки; применяется ко всем пикселям со значением 1 в ячейкеBRIGHT i
, выбирает значение бита яркости символьной ячейки, где значение может быть либо 0, либо 1.
Кроме того, BORDER
Команда выбирает цвет для области экрана, окружающей растровое изображение пикселя. Он не использует флаг яркости, поэтому только восемь основных цветов. для цвета границы поддерживаются [22]
Стандартный режим
[ редактировать ]
Оригинальный ZX Spectrum имеет разрешение экрана 256х192 пикселей. [23] [24] Во всех случаях цвета чрезвычайно насыщенные. Информация о цвете накладывается на него в виде сетки областей размером 8x8 пикселей, известных как блоки атрибутов. [25] [26] Все свойства цвета блока атрибутов хранятся в памяти как один байт атрибута, и каждый блок атрибутов соответствует одной символьной ячейке. В каждом блоке атрибутов можно использовать только два цвета из палитры из 8 цветов. Кроме того, весь блок атрибутов может быть обозначен как «яркий», в результате чего в общей сложности получится 15 возможных цветов (черный не имеет «ярких» вариаций). Во многих программах ограничение только двух цветов на блок атрибутов проявляется как нежелательный эффект конфликта атрибутов .
Экран в этом режиме занимает 6144 байта для растрового изображения пикселя, что вместе с атрибутами цвета составляет 6912 байт.
- Подробности:
- Пиксели: 256 х 192
- Атрибуты: 32 х 24
- Цвета: 15 (считая неяркие и яркие)
- Машина: Все
Монохромные телевизоры и мониторы
[ редактировать ]
Используя монохромный монитор или черно-белый телевизор (или уменьшив настройки насыщенности цветного телевизора), можно воспользоваться различиями в интенсивности в цветовом диапазоне Spectrum для создания изображения в оттенках серого с 15 оттенками и разрешением 256x192.
- Подробности:
- Пиксели: 256 х 192
- Атрибуты: 32 х 24
- Цвета: 15 оттенков серого
- Машина: Все, с использованием монохромного дисплея.
Привет-цветные атрибуты
[ редактировать ]Аппаратная реализация
[ редактировать ]Привет-Цвет / Мультитехнология

Несколько сторонних клонов Spectrum, включая машины Timex Sinclair , [27] [28] , Интерфейс Pentagon eLeMeNt ZX и MB03+ Ultimate поддерживают режим экрана под названием Hi-Color, [28] в котором блоки атрибутов имеют размер 8x1 пикселей, а не обычные 8x8. [29] [30] Экран в этом режиме занимает 12 КБ ОЗУ. В случае с Timex этот режим активируется командой OUT 255,2
. [27] [28] По крайней мере один редактор для машин Timex поддерживает этот режим. [31] Кроме того, этот режим экрана можно создать с помощью DMA дисковой системы MB-02. аппаратного обеспечения [32] (где эта техника известна как Multitech [33] ), а также доступен как Режим 2 (с линейным порядком байтов) на SAM Coupé . [34]
- Подробности:
- Пиксели: 256 х 192
- Атрибуты: 32 х 192
- Цвета: 15
- Машины: Timex Sinclair модели , ZX Spectrum Next , Pentagon , eLeMeNt ZX , SAM Coupé.
- Интерфейс: MB03+ Ultimate
Программная реализация
[ редактировать ]Атрибуты 8x1 / Hicolor / Multicolor / FLI / BIFROST*2 / Генератор Rainbow / Процессор Rainbow
[ редактировать ]В других моделях Spectrum этот эффект можно воспроизвести, используя тот факт, что ULA перечитывает информацию об атрибутах в каждой строке пикселей при формировании выходного видео; можно записать новое значение в соответствующую ячейку памяти между последовательными строками и, таким образом, вызвать отображение другой пары цветов. Однако процессор Spectrum недостаточно быстр, чтобы записать всю строку байтов атрибута за одну строку сканирования, поэтому атрибуты 8x1 могут быть получены только для 20 столбцов. [35] Эта техника известна под разными названиями: Hicolour , Multicolour , FLI , BIFROST*2 «SuperColour», [36] «Радужный генератор» или Радужный процессор [37] режим. [30]
- Подробности:
- Пиксели: 256 х 192
- Атрибуты: 32 x 192 (ограничено областью 18 x 192)
- Цвета: 15
- Машина: Все (со специальным кодом, адаптированным для таймингов каждой машины)
Атрибуты 8x2 / Двухцветный / Нирвана+
[ редактировать ]
Разновидностью этого метода является изменение ряда атрибутов в течение двух строк развертки, в результате чего блоки атрибутов размером 8x2 пикселя занимают более широкую область экрана. Этот режим известен как двухцветный , и его можно применить ко всей ширине экрана с помощью движка Nirvana+ . [38] [39]
- Подробности:
- Пиксели: 256 х 192
- Атрибуты: 32 х 96
- Цвета: 15
- Машина: Все (со специальным кодом, адаптированным для таймингов каждой машины)
Атрибуты 4x1/4x2/4x4
[ редактировать ]Особый случай включает чередование двух доступных цветов на ячейку атрибута по 4 пикселя каждый, что позволяет рассматривать каждую область 4x1 как независимо окрашиваемый «пиксель» (хотя ограничение одного уровня яркости на ячейку 8x1 все еще действует). Опять же, вариант этого режима 4x2 можно применить к более широкой области экрана. А вариант 4x4 может быть достигнут на машинах 128K путем переключения по времени между двумя видеопамятями (вместо перезаписи данных атрибутов), чтобы отображать верхнюю половину ячеек символов с одного экрана, а нижнюю половину - с другого.
- Подробности:
- Пиксели: 64 х 192; 64 х 96; 64 х 48
- Атрибуты: ограничение яркости 8x1.
- Цвета: 15
- Машина: Все (со специальным кодом, адаптированным для таймингов каждой машины)
-
Пример изображения атрибутов 4x1
-
Пример изображения атрибутов 4x2
-
Пример изображения атрибутов 4x4
ULAplus / HAM256 / HAM8x1
[ редактировать ]ULAplus совместим со стандартными режимами ZX Spectrum и Timex Hi-Res и Hi-Colour, а также добавляет возможность переопределения палитры. [40] Если использовать программное обеспечение ULAplus только для незначительной модификации 16 основных цветов, его можно отобразить на стандартном спектре. Использование полных 64 цветов несовместимо, поскольку оно активирует атрибуты «вспышки» оригинального Spectrum. [41] Также возможны режимы, вдохновленные Amiga HAM (HAM256 и HAM8x1), отображающие на экране до 256 цветов. [42] [43] [44] [45]
- Подробности:
- Пиксели: 256 х 192; 512 x 192 (режим высокого разрешения)
- Атрибуты: 32 х 24; 32 x 192 (режим Hi-Colour 8x1)
- Цвета: 2 из 256 (режим Hi-Res), 64 из 256; 256 (HAM256 и HAM8x1)
- Машина: ZX Spectrum SE , ZX Spectrum Next , ZX-Uno , Chloe 280SE , [46] Хлоя 140SE , [46] ЭЛЕМЕНТ ZX , zx128u+ [46]
- Интерфейс: MB03+ Ultimate
-
Пример изображения ULAplus
-
Пример изображения ULAplus 8x1 Hi-Colour
-
Пример изображения ULAplus HAM256
-
Пример изображения ULAplus HAM8x1
Чересстрочный/переключаемый режимы
[ редактировать ]
Чересстрочная развертка
[ редактировать ]Попеременно переключаясь между двумя экранами при каждом прерывании кадра (50 Гц), теоретически можно имитировать удвоение разрешения экрана по вертикали со 192 до 384 строк.
Клоны Timex и ZX Spectrum 128K реализуют «теневую» область экрана, которую можно переключать на место с помощью одного OUT
команда, и она часто используется для быстрого переключения между двумя изображениями с этой целью (хотя этого можно добиться и стандартным копированием блока, хотя и не на весь экран).
При просмотре на экране ЭЛТ-телевизора (стандарт того времени) мерцание менее заметно, чем на современном мониторе. приведен пример изображения Здесь ( предупреждение : связанное изображение мерцает очень быстро, что потенциально может вызвать судороги у людей со светочувствительной эпилепсией ).

На самом деле этот метод не обеспечивает истинного чересстрочного отображения, поскольку у Spectrum отсутствует возможность синхронизации с аппаратным обеспечением дисплея на таком низком уровне. На экране телевизора с ЭЛТ эффект больше похож на сглаживание : некоторые пиксели отображаются с половинной интенсивностью. [30] [47]
На современных ЖК-телевизорах , картах захвата или других устройствах, которые преобразуют исходный аналоговый сигнал в цифровой (таким образом частично игнорируя исходные сигналы синхронизации), этот режим можно интерпретировать как настоящий чересстрочный режим, как показано на изображении с изображением кошки справа. .
- Подробности:
- Пиксели: 256 х 384
- Атрибуты: 32 х 24
- Цвета: 15
GigaScreen / DithVIDE / BZither
[ редактировать ]
Атрибуты (цвета) изображения на экране чередуются с частотой 50 Гц. [48] Таким образом, палитра увеличивается примерно до 36 цветов. [49] Можно переключать экраны для каждой строки сканирования и, таким образом, смешивать экраны, но это требует очень интенсивного использования процессора и требует точной и стабильной синхронизации.
С помощью настоящего программного обеспечения tstate можно смоделировать GigaScreen на оригинальном 128k ZX Spectrum с разрешением 128k. [50]
Для машин Pentagon доступна аппаратная модификация, которая напрямую объединяет две альтернативные области экрана в видеосигнал, тем самым устраняя мерцание, связанное с этим методом. Интерфейс MB03+ Ultimate и компьютер eLeMeNt ZX могут отображать три аппаратных режима немерцающего GigaScreen (смешанные видеопамяти, смешанные видеокадры и режим автоопределения) с разрешением 256 x 192 и 512 x 192.
Кроме того, методы GigaScreen и Hi-Colour можно использовать вместе для получения еще более насыщенных цветов изображений; этот формат получил названия DithVIDE и BZither , оба названия относятся к методам сглаживания , используемым при преобразовании полноцветных изображений в этот формат.
- Подробности:
- Пиксели: 256 х 192
- Атрибуты: 32 х 24
- Цвета: ~36
- Машина: Все (с мерцанием)
- Аппаратное обеспечение GigaScreen: Pentagon , eLeMeNt ZX , MB03+ Ultimate (без мерцания)
Ключевой слой
[ редактировать ]Интерфейс MB03+ Ultimate и компьютер eLeMeNt ZX обеспечивают этот графический режим, который позволяет отображать данные изображения из второй видеопамяти на месте одного выбранного цвета в видеопамяти №1. Это добавляет третий цвет к атрибуту.
- Подробности:
- Пиксели: 256 х 192, 512 х 192
- Атрибуты: 32 х 24, 64 х 48, 3 цвета на ячейку.
- Цвета: 15
- Машина: ЭЛЕМЕНТ ZX
- Интерфейс: MB03+ Ultimate
3-цветный/Мультихромный/RGB-3/Интерхромный
[ редактировать ]
Три отдельных изображения, состоящих из красного, зеленого и синего слоев, быстро отображаются на экране одно за другим, полагаясь на постоянство визуальных эффектов, позволяющих объединить три слоя в одно цветное изображение. [51] В результате получается 8-цветное изображение, где каждый пиксель может быть окрашен независимо. [52] [53]
- Подробности:
- Пиксели: 256 х 192
- Атрибуты: 256 х 192
- Цвета: 8
- Машина: Все
Совместимые машины и интерфейсы
[ редактировать ]Более поздние машины, совместимые с ZX Spectrum, предлагали дополнительные видеорежимы. Они основаны на стандартном режиме 256x192, но несовместимы с оригинальным Spectrum. [30] Кроме того, интерфейсы Spectra и интерфейс MB03+ Ultimate расширяют возможности дисплея Spectrum, обеспечивая поддержку большего количества цветов и/или дополнительных видеорежимов.
16в
[ редактировать ]
Видеорежим, в котором каждый пиксель может иметь один из 16 цветов. [54]
- Подробности:
- Пиксели: 256 х 192
- Атрибуты: нет, нет ограничений
- Цвета: 16
- Машина: Банкомат Турбо , Пентагон

256x192x16 / Режим 4
[ редактировать ]Режим Sam Coupé, в котором каждый пиксель может отображать один из 16 цветов из 128 цветовой палитры. [30]
- Подробности:
- Пиксели: 256 х 192
- Атрибуты: нет, нет ограничений
- Цвета: 16 (из 128) в строке
- Машина: Сэм Купе
384x304x16
[ редактировать ]Режим, поддерживаемый компьютером Пентагона. [55]
- Подробности:
- Пиксели: 384 х 304
- Атрибуты: 48 х 38
- Цвета: 16
- Машина: Пентагон
Графика HGFX
[ редактировать ]Компьютер eLeMeNt ZX и интерфейс MB03+ обеспечивают планарное разрешение 256x192 (LowRes), 512x192 (HighRes) и 512x384 (SuperHiRes). [56] Графика HGFX обрабатывается через плоские слои, но к ней также можно получить доступ как к «коренастым» страницам ОЗУ. Самым высоким, «коренастым», является разрешение «PAL» — 720x546 пикселей. HGFX состоит из совместимых с ZX-экраном (нелинейных или линейных) слоев-битовых плоскостей для достижения до 256 цветов как в низком разрешении, так и в низком разрешении. [57] и HiRes, 16 цветов в SuperHiRes и 4 цвета в самом высоком разрешении. Он занимает лишь часть памяти, аналогично памяти ZX-экрана, имеет собственные внутренние буферы и может комбинироваться с исходной ZX-графикой в так называемом режиме прозрачности. [58] HGFX обеспечивает 24-битную полноцветную палитру (совместимую с HiRes indeXedColour) с 256 индексированными цветами. Данные экрана HGFX также могут отображаться в режимах HAM (подобно Amiga) и FILL (подобно Apple2GS).
HGFX основан на более мощной системе HGFX/Q, которую изначально можно было расширить в приграничной области до 320 x 240 или 640 x 240. [59]
- Подробности:
- Пиксели: 256 х 192, 512 х 192, 512 х 384, 720 х 546
- Атрибуты: нет, нет ограничений, плюс режимы FILL и HAM.
- Цвета: до 256 (из 16777216), до 16 (SuperHiRes) и 4 (PAL 720 x 546)
- Машина: MB03+ Ultimate , ELEMeNT ZX
Слой 2
[ редактировать ]- Подробности:
- Пиксели: 256 x 192 (256 цветов из 512), 320 x 256 (256 цветов из 512) и 640 x 256 (16 цветов из 512)
- Атрибуты: нет, нет ограничений
- Машина: ZX Spectrum Next [60]
я еду
[ редактировать ]В этом режиме отображается разрешение 128x96 пикселей двойного размера. Каждый пиксель содержит один из шестнадцати цветов без ограничений по атрибутам. Пиксели хранятся в линейном буфере как 4-битные полубайты (т. е. 2 пикселя на байт). Буфер имеет длину 6144 байта и занимает ту же память, что и экран с разрешением 256 x 192 пикселя.
- Подробности:
- Пиксели: 128 х 96
- Атрибуты: нет, нет ограничений
- Цвета: 16 (из 256)
- Машина: ZX-Uno , ZX Spectrum Next , MB03+ Ultimate , eLeMeNt ZX
ЛоРЭС
[ редактировать ]В этом режиме отображается разрешение 128x96 пикселей двойного размера. Каждый пиксель содержит один из 256 цветов (из 512) без ограничений по атрибутам. Пиксели хранятся в линейном буфере как 8-битные. Буфер имеет длину 12288 байт и занимает ту же память, что и основной (DFILE1) и теневой (DFILE2) экраны размером 256x192 пикселей.
- Подробности:
- Пиксели: 128 х 96
- Атрибуты: нет, нет ограничений
- Цвета: 256 (из 512)
- Машина: ZX Spectrum Next
Спектры (+128)
[ редактировать ]Spectra имеет 31 формат отображения. Они позволяют одновременно отображать до 64 уникальных цветов с различным цветовым разрешением, с высотой атрибутов 1, 2, 4 и 8 пикселей и шириной 4 и 8 пикселей. [61]
Режимы высокого разрешения
[ редактировать ]512x192x2 / Высокое разрешение
[ редактировать ]Этот режим в основном использовался для отображения текстового экрана с колонками размером 64x24 или 85x24 и первоначально только для компьютеров Timex Sinclair (где он назывался Hi-Res ) и некоторых российских клонов. [62] может отобразить его. Также требуется 12 КБ ОЗУ. В случае с Timex этот режим активируется командой OUT 255,1
. [27] [28] Два графических редактора («Рисуй 512» [63] и «Тех-Жеребьевка» [64] ) поддерживают этот режим, [65] [66] наряду с BASIC64 и некоторыми реализациями CP/M . [30]
- Подробности:
- Пиксели: 512 х 192
- Атрибуты: нет, нет ограничений
- Цвета: 2 (четыре палитры: черный и белый, синий и желтый, красный и голубой, пурпурный и зеленый) (из 512 на ZX Spectrum Next)
- Машина: Timex Sinclair , ZX Spectrum Next , ZX-Uno , MB03+ Ultimate , eLeMeNt ZX , Pentagon
-
Пример изображения размером 512 x 192 x 2 с черно-белой палитрой.
-
Пример изображения размером 512 x 192 x 2 с синей и желтой палитрой.
-
Пример изображения размером 512 x 192 x 2 с палитрой Red & Cyan.
-
Пример изображения размером 512 x 192 x 2 с палитрой пурпурного и зеленого цветов.

512x192x4 / Режим 3
[ редактировать ]В Sam Coupé есть этот режим, в котором каждый пиксель может использовать один из 4 цветов из 128 палитры. [30]
- Подробности:
- Пиксели: 512 х 192
- Атрибуты: нет, нет ограничений
- Цвета: 4 (из 128) в строке
- Машина: Сэм Купе

512x384x2
[ редактировать ]Режим, поддерживаемый компьютером Пентагона. [55]
- Подробности:
- Пиксели: 512 х 384
- Цвета: монохромный
- Станок: Pentagon , Timex Sinclair 2128 (модификация на базе TC 2048)
Цвет высокого разрешения
[ редактировать ]Пиксели хранятся в линейном порядке. Атрибуты дублируются по вертикали, состав атрибута идентичен исходному режиму ZX Spectrum. HiRes indeXedColour может выбирать 32 цвета из 16777216 цветов. Две видеопамяти можно микшировать как в режиме Color, так и в режиме indeXedColour с помощью Keylayer.
- Подробности:
- Пиксели: 512 х 192
- Атрибуты: 64 х 48
- Цвета: 16 (или 32 индексированных, из 1677216)
- Машина: MB03+ Ultimate , ELEMeNT ZX
Эмулируемый
[ редактировать ]256x192, 256 цветов, «256 цветовой режим», без атрибутов
[ редактировать ]СПЕЦ256, [67] [68] В ZWin [69] [70] и Эс.спектр [71] эмуляторы имеют режим экрана 256х192 пикселей, где каждый пиксель может быть одного из 256 цветов. [30] Это достигается за счет увеличения размера слова эмулируемого Z80 с 8 бит до 64, что делает восемь бит данных доступными для каждого пикселя; таким образом, экран занимает 48 КБ памяти. Этот режим существует только в эмуляторе, и для его использования необходимо изменить графику программного обеспечения. [ нужна ссылка ]
- Подробности:
- Пиксели: 256 х 192
- Атрибуты: нет, нет ограничений
- Цвета: 256
Дизеринг и размытие
[ редактировать ]

Низкая битовая глубина каждого пикселя (всего один бит на пиксель) побудила художников-графиков (например, из ZX-Art ) прибегнуть к различным методам сглаживания . Дизеринг очень хорошо работает с ЭЛТ-телевизорами того времени, поскольку аналоговые телевизоры используют большое размытие как по горизонтальной, так и по вертикальной оси. Поскольку фокус электронного луча обычного ЭЛТ-телевизора намеренно расположен низко, возникающее в результате сильное размытие приводит к смешению цветов соседних пикселей. Размытие уменьшает нежелательный видимый шум, добавляемый размытием отображаемых изображений.
Чтобы точно имитировать фактическое выходное изображение ZX Spectrum, современный эмулятор должен использовать фильтр размытия значительной силы. Простые билинейные фильтры создают слишком сильное размытие, а чрезвычайно резкий фильтр Ланцоша недостаточен. Поэтому фильтр должен быть специально сконструирован для имитации эффекта размытия на обычном ЭЛТ-телевизоре. Большинство эмуляторов используют фильтры очень низкого качества, из-за чего конечное изображение выглядит чрезвычайно резким и пиксельным. [ нужна ссылка ] Некоторые эмуляторы, такие как FUSE, используют доступные фильтры, пытаясь уменьшить эффект пикселизации. [ нужна ссылка ] Эти фильтры создают окончательное изображение, значительно отличающееся от реального видеосигнала 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 |
Ссылки
[ редактировать ]- ^ Викерс, Стивен (1982). "Введение" . Программирование Sinclair ZX Spectrum BASIC . Синклер Рисерч Лтд . Архивировано из оригинала 24 сентября 2006 года . Проверено 23 августа 2006 г.
- ^ Викерс, Стивен (1982). «Цвета» . Программирование Sinclair ZX Spectrum BASIC . Синклер Рисерч Лтд . Архивировано из оригинала 24 сентября 2006 года . Проверено 23 августа 2006 г.
- ^ Патент EP 0107687 , Ричард Фрэнсис Альтвассер, «Дисплей для компьютера», выдан 6 июля 1988 г., передан Sinclair Research Ltd.
- ^ «База данных — ZX-Art» . zxart.ee . Проверено 14 апреля 2023 г.
- ^ «Техническая информация о спектре 48K ZX» . worldofspectrum.org . Проверено 28 декабря 2023 г.
- ^ Перейти обратно: а б «Блог о дизайне клонов Spectrum» .
- ^ «Техническая информация о спектре 48K ZX» .
- ^ «Техническая информация о 128K ZX Spectrum» .
- ^ Перейти обратно: а б Смит, Крис (2010). ZX Spectrum ULA: Как спроектировать микрокомпьютер (1-е изд.). Великобритания: ZXDesign Technology and Media. стр. 224–227. ISBN 978-0-95-650710-5 .
- ^ «Техническая информация о спектре 48K ZX» . worldofspectrum.org . Проверено 15 ноября 2023 г.
- ^ Перейти обратно: а б Смит, Крис (2010). ZX Spectrum ULA: Как спроектировать микрокомпьютер (1-е изд.). Великобритания: ZXDesign Technology and Media. п. 74. ИСБН 978-0-95-650710-5 .
- ^ «Техническая информация о спектре 48K ZX» . worldofspectrum.org . Проверено 15 ноября 2023 г.
- ^ Тишновский, Павел. «Графика на восьмибитных компьютерах Sinclair II» . Root.cz (на чешском языке) . Проверено 15 ноября 2023 г.
- ^ «Для новичков — объяснение вывода видео C64» . Лимон64 — Коммодор 64 . 24 сентября 2019 г. Проверено 11 января 2024 г.
- ^ Перейти обратно: а б с «Цвета — Вводное руководство Sinclair ZX Spectrum [страница 27] | ManualsLib» . www.manualslib.com .
- ^ «Выход S-video для ZX Spectrum +2A/+3, +2B и +3B» . zxnet.co.uk . Проверено 20 декабря 2023 г.
- ^ «Удаление синего/желтого ореолов с видеовыхода 128/+2» . Спектр для всех . Проверено 20 декабря 2023 г.
- ^ Фэрроу, Пол (2001). Кабель SCART Spectrum 128 (PDF) .
- ^ Кодер цвета TEA2000 PAL/NTSC (PDF) . Филипс. Сентябрь 1985 года.
- ^ Перейти обратно: а б «Блог о дизайне клонов Spectrum» . www.zxdesign.info .
- ^ «Техническая информация о спектре 48K ZX» . worldofspectrum.org . Проверено 14 ноября 2023 г.
- ^ «Цвета — Вводное руководство Sinclair ZX Spectrum [страница 27]» . Библиотека руководств . Проверено 14 ноября 2023 г.
- ^ «Блог о дизайне клонов Spectrum» . www.zxdesign.info .
- ^ «Техническая информация о спектре 48K ZX» . worldofspectrum.org .
- ^ Белфилд, Дин. «L Break Into Program — Структура памяти экрана ZX Spectrum» .
- ^ «World of Spectrum — Документация — Руководство по ZX Spectrum — Глава 24» . worldofspectrum.org .
- ^ Перейти обратно: а б с «Порты ввода-вывода Timex» . timex.comboios.info .
- ^ Перейти обратно: а б с д «Техническая информация Таймекс» . worldofspectrum.org .
- ^ Вайсенберг, Майкл (19 декабря 1983 г.). «ИнфоМир» . InfoWorld Media Group, Inc. – через Google Книги.
- ^ Перейти обратно: а б с д и ж г час «Дополнительные графические режимы ZX Spectrum — 8-битные проекты для всех» . 8bit.yarek.pl . Архивировано из оригинала 15 июня 2006 года . Проверено 14 сентября 2006 г.
- ^ «Расширенная краска» . www.timexsinclair.com . Проверено 20 ноября 2022 г.
- ^ MB-02+ Революционный шаг вперед (PDF) . Лаборатории компании 8 Bit.
- ^ «Загрузка MB02+» . www.128land.com .
- ^ Гордон, Райт, Брюс, Энди (1990). ТЕХНИЧЕСКОЕ РУКОВОДСТВО SAM COUPE v3.0 (PDF) . МАЙЛЗ ГОРДОН ТЕХНОЛОДЖИ plc.
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка ) - ^ «BIFROST*2 ENGINE в Spectrum Computing — игры, программное и аппаратное обеспечение Sinclair ZX Spectrum» . Спектральные вычисления .
- ^ «SuperColour в Spectrum Computing — игры, программное и аппаратное обеспечение Sinclair ZX Spectrum» . Спектральные вычисления .
- ^ «Spectrum Computing — игры, программное и аппаратное обеспечение ZX Spectrum» .
- ^ «NIRVANA+ ENGINE в Spectrum Computing — игры, программное и аппаратное обеспечение Sinclair ZX Spectrum» . Спектральные вычисления .
- ^ «База данных — ZX-Art» .
- ^ «База данных — ZX-Art» . zxart.ee .
- ^ «ЮЛАплюс» . сайты.google.com .
- ^ «ЮЛАплюс» . сайты.google.com . Архивировано из оригинала 25 мая 2013 года . Проверено 20 ноября 2022 г.
- ^ «Коллекция ULAplus™, посвященная 10-летию компании Source Solutions, Inc» . itch.io. Проверено 20 ноября 2022 г.
- ^ «Программа просмотра HAM256 в Spectrum Computing — игры, программное и аппаратное обеспечение Sinclair ZX Spectrum» . Спектральные вычисления . Проверено 20 ноября 2022 г.
- ^ «HAM 8x1 в Spectrum Computing — игры, программное и аппаратное обеспечение Sinclair ZX Spectrum» . Спектральные вычисления . Проверено 20 ноября 2022 г.
- ^ Перейти обратно: а б с Габор, Тарьян (2021). «ZX Spectrum в 21 веке?» .
- ^ «Демо-версия чересстрочной развертки в Spectrum Computing — игры, программное и аппаратное обеспечение Sinclair ZX Spectrum» . Спектральные вычисления .
- ^ «База данных — ZX-Art» . zxart.ee .
- ^ «GFX ZONE — графические режимы ZX-Spectrum» . gfxzone.planet-d.net .
- ^ ZX Spectrum 128k: Демоверсия "Velesoft's Dragon in Giga Screen Simulator" (2021 г.) , получено 21 декабря 2023 г.
- ^ «База данных — ZX-Art» . zxart.ee .
- ^ «ZX Prism: 16-цветный планарный режим без конфликтов цветов и аппаратный Gigascreen» . 17 июля 2014 г.
- ^ "Триколор — SpeccyWiki" . speccy.info .
- ^ «16col — SpeccyWiki» .
- ^ Перейти обратно: а б «384x304 — SpeccyWiki» .
- ^ «Графические режимы ZX Spectrum и совместимых устройств, поддерживаемые на платформе eLeMeNt/MB» .
- ^ «LnxSpectrum HGFX Oxygene» – через vimeo.com.
- ^ «HGFX — ZX Planar — учебное пособие» .
- ^ "lnxspectrum:hgfx [ilnx.cz]" . wiki.ilnx.cz.
- ^ «Видеорежимы — официальная вики SpecNext» .
- ^ Фэрроу, Пол (2018). Краткое описание режимов отображения SPECTRA (PDF) . www.fruitcake.plus.com / www.zxresourcecentre.co.uk.
- ^ «512x192 — SpeccyWiki» .
- ^ «Розыгрыш 512» . www.timexsinclair.com . Проверено 20 ноября 2022 г.
- ^ «Тех-Розыгрыш» . www.timexsinclair.com . Проверено 20 ноября 2022 г.
- ^ «Нарисуйте 512 в Spectrum Computing — игры, программное и аппаратное обеспечение Sinclair ZX Spectrum» . Спектральные вычисления . Проверено 20 ноября 2022 г.
- ^ «Программное обеспечение для TS 2068» . www.timexsinclair.com . Проверено 20 ноября 2022 г.
- ^ MVV (18 июля 2022 г.), mvvproject/Spec256-Games , получено 26 ноября 2022 г.
- ^ «Игры Spectrum Magic ZX 256 цветов» . Spectrummagic.emuunlim.com . Проверено 26 ноября 2022 г.
- ^ «EmuZWin v2.6 версия 1.0» .
- ^ «Эмузвин 2» . f0460945.xsph.ru . Проверено 26 ноября 2022 г.
- ^ «Руководство по Эспектруму» . www.habisoft.com . Проверено 26 ноября 2022 г.
Внешние ссылки
[ редактировать ]- Графические режимы ZX-Spectrum
- Дополнительные графические режимы ZX-Spectrum. Архивировано 15 июня 2006 г. на Wayback Machine.
- Изображение в ZX Spec — утилита с открытым исходным кодом для преобразования изображений с ПК в ZX Spectrum (включая 14 режимов сглаживания)
- Retro-X — утилита для конвертации изображений с ПК на старые машины (включает нестандартные режимы ZX Spectrum)
- Плагин ZX GIMP Плагин GIMP , позволяющий придать любому изображению RGB вид экрана ZX Spectrum.
- Механизм BIFROST*2 (разноцветные атрибуты «8x1», 20 столбцов)
- NIRVANA+ Engine (многоцветный «8x2» атрибутов полной ширины экрана)
- Следующие видеорежимы ZX-Spectrum
- Коллекция графики ZX-Spectrum