Pull to refresh

Comments 28

Хабр торт. Большое спасибо за статью и подробный разбор, как же это работало

UFO just landed and posted this here
Скорее, пыль на мониторе :-)
Исправил на жёлтый.
У обывателя CGA обычно ассоциируется с графикой 320x200 и четырёхцветной палитрой с кислотно-жуткими цветами...

Да, цвета действительно фиговые, имелась возможность перепрограммировать палитру, однако никто этого не делал. У меня был черно-белый монитор, и на нем, кстати, смотрелось «ничего».
И да, спасибо огромное за статью. Люблю я такое.
UFO just landed and posted this here
Просто это «инверсные» цвета. Бывает RGB, это красный, зеленый, синий. А бывает CYMK, это cyan, yellow, magenta, key-black. ru.wikipedia.org/wiki/CMYK
Вот для двухбитного цвета были выбраны белый, черный, и «cyan» и «magenta». Желтый заменили на белый, для совместимости с Ч/Б.
Была и менее кислотная, красно-зелёно-коричневая стандартная палитра. Её использовал, например, классический Digger:



Но эта палитра была менее популярной, чем кислотная; думаю, дело в том, что на чёрно-белом мониторе красный, зелёный и коричневый цвета превращались в одинаковые оттенки серого.
Была и третья палитра:
image
В играх тоже достаточно часто использовалась.
Таппер, пару бокалов на третий стол, сейчас!
Стоит упомянуть, что эта палитра была недокументированной, и на композитном мониторе — даже на цветном — отображалась оттенками серого.
Да, и в этом был её большой плюс. Поскольку стандартная палитра — если игра не подразумевала подключение композитного монитора — отображалась ужасно.
холодная палитра — это теплая, к каждому цвету которой добавлен синий.
однако никто этого не делал
В играх постоянно делали. Просто выбор вариантов всё равно небольшой был.
Согласен, просто 2 бита на пиксель это очень мало. А почему по умолчанию выбрали такие, я написал в комментарии чуть выше.
Однако путём ухищрений и больше четырёх цветов делали:
image
Да, моя статья как раз про такие ухищрения.
Нет, здесь всё проще — два раза за кадр меняется фоновый цвет.
Ага, понятно теперь, почему Фроггер на Поиск-1 выглядит с мерцанием фона и прочей дичью.
Каждый «пухлый пиксель» занимает 16 бит видеопамяти, так что изображение с разрешением 80x100 занимает её всю целиком (16 Кб).

Это одна из причин, почему невозможно в полутекстовом режиме ограничиться одной строкой пикселей от каждого символа, и тем самым удвоить вертикальное разрешение.
у меня был монитор EGA, след. поколение после CGA уже с 16 цветами.
и вот на этом EGA монике я запускал 4кб демку, которая выводила в центре экрана 256 цветную радугу и она переливалась, тогда это казалось каким то чудом, тем более нормальный SVGA монитор в видяха были вожделенными.
у EGA монитора/адаптера было 2 режима:
— 200 строк — режим совместимости с CGA и теми же 16 цветами.
— 350 строк — 16 цветов из палитры в 64.
Забавно, это картинка очень похоже на настройку цветов в Персонализации Windows 10
image
… прошло 40 лет, история повторяется
UFO just landed and posted this here
Интересно, а какие последовательности нужны, чтобы сделать такие же трюки с системой Секам или Пал?
С Пал все тоже самое, а с Секам нужна частотная модуляция, и скорее всего вообще ничего не выйдет.
Разные стандарты цветного аналогового видео — это настолько большая и интересная тема, что я надеюсь посвятить им отдельный хабрапост.
Если коротко, то частота кадровой развёртки в CGA (60 fps) не позволяет использовать его с видеоприёмниками PAL и SECAM, ожидающими 50 fps.

В европейских компьютерах, выводивших композитный видеосигнал для PAL-мониторов (например, в знаменитом ZX Spectrum) — гипотетически, можно было бы создавать артефактные цвета: основное отличие PAL состоит в том, что color burst в каждой следующей строке сдвигается по фазе на 180° (отсюда и название стандарта: Phase Alternating Line), так что и последовательности тоже должны в каждой строке сдвигаться.

Фактически же артефактные цвета в европейских компьютерах не использовались. Дело в том, что в CGA удачно подобрали горизонтальное разрешение, так что на каждый период поднесущей приходится по два или четыре пикселя, и периодическая последовательность пикселей соответствует постоянному фазовому сдвигу поднесущей. В ZX Spectrum и других европейских компьютерах такого удачного совпадения не было, и на каждый период поднесущей приходилось нецелое число пикселей. Для Atari были какие-то кустарные PAL-конвертеры, с которыми получались артефактные цвета; но софтописатели такие «гаражные поделки» в целом игнорировали.
Sign up to leave a comment.

Articles

Change theme settings