Цветная графика без видеокарты: как Стив Возняк заставил кинескоп собирать цвет из помех

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Статья | Платформа ПК

В 1977 году цветная графика в персональном компьютере упиралась в жесткий ценовой барьер. Чтобы вывести на экран хотя бы четыре чистых цвета, стандартный видеоузел требовал отдельную плату с 30-40 микросхемами дискретной логики — такой блок по себестоимости и энергопотреблению выходил тяжелее всей остальной материнской платы. Стив Возняк обошел это ограничение за счет двух копеечных логических элементов и кварцевого резонатора из сломанного телеприемника. Причем в самом компьютере не было видеоконтроллера, генерирующего цвет: Возняк заставил кинескоп собирать картинку из радиопомех.

Многие помнят плотный щелчок тумблера старого телевизора и возню с антенным штекером, когда к экрану впервые подключали приставку или 8-битный компьютер. Картинка дрожала, при вращении подстроечного резистора плыли полосы, а мелкий текст на черно-белых мониторах внезапно начинал рябить радужной каймой. У этой особенности кинескопов была строгая физическая причина, и именно она легла в основу схемы Apple II.

Автор: Marcin Wichary / CC BY 2.0 Источник: commons.wikimedia.org

Почему вещательный стандарт стоил целое состояние

В конце 1970-х годов видеопамять стоила слишком дорого, чтобы тратить ее без оглядки. Классическая инженерная школа требовала хранить в оперативной памяти отдельные биты для каждого цветового канала, передавать их на цифро-аналоговые преобразователи и синхронизировать импульсы гашения луча. Для машины стоимостью до тысячи долларов это был тупик: цветное ОЗУ съедало весь бюджет устройства.

Стив Джобс настаивал на выводе изображения именно на бытовой цветной телевизор через антенный модулятор, без покупки дорогого студийного монитора. Но американский вещательный стандарт NTSC проектировали в пятидесятые годы с колоссальным количеством компромиссов: инженеры пытались втиснуть цвет в старый черно-белый диапазон частот так, чтобы у владельцев старых приемников кадр не рассыпался на части.

Возняк понял: не нужно строить на плате миниатюрную телестудию. Достаточно сымитировать сигнал так, чтобы декодер кинескопа обманулся сам.

Афера с фазой: как черно-белый шум превращается в оттенок

Цветной кинескоп формировал изображение по простому принципу: базовый сигнал передавал яркость (черно-белый каркас кадра), а поверх него накладывалась поднесущая частота 3,58 МГц. Телевизор непрерывно сравнивал фазу входящего сигнала — микросекундное опережение или запаздывание волны — с эталонным импульсом цветовой синхронизации. Сдвинулась фаза в одну сторону — люминофор светится зеленым, сдвинулась в другую — фиолетовым.

Возняк вообще выкинул из схемы генератор цветности.

 Снимок экрана базовой программы Apple II, на котором отображается цветовая палитра режима низкого разрешения.
Снимок экрана базовой программы Apple II, на котором отображается цветовая палитра режима низкого разрешения.
Автор: Mausmalone / CC BY-SA 4.0 Источник: commons.wikimedia.org

Тактовый генератор Apple II работал на частоте 14,318 МГц — стандартной для американских телевизоров. Процессор 6502 просто выталкивал в видеовыход непрерывную последовательность однобитных черно-белых точек со скоростью около 7 миллионов импульсов в секунду.

Схема декодирования NTSC внутри телевизора не была рассчитана на работу с отдельными точками столь высокой плотности. Полоса пропускания тракта яркости в бытовых кинескопах была намеренно заужена, поэтому электроника сглаживала соседние черно-белые переходы. Вместо последовательности черных и белых полосок схема телевизора видела фазовый сдвиг синусоиды.

Если в видеопамяти стоял битовый шаблон чередования черного и белого «1010», фильтр телевизора видел в этом устойчивый сдвиг фазы и заливал пиксели зеленым. Если шаблон менялся на «0101», фаза поворачивалась на 180 градусов — и кинескоп послушно выдавал фиолетовый. В памяти компьютера не хранилось никакой информации о цвете — только координаты черных и белых точек.

Лишний бит: как бесплатно удвоить палитру

Первая версия этой схемы давала четыре градации: черный, белый, фиолетовый и зеленый. Для простых схем и таблиц этого хватало, но динамичным играм требовалось разнообразие.

Автор: Guywelch2000 / CC BY 4.0 Источник: commons.wikimedia.org

Обычный путь инженера в такой ситуации — расширить шину данных, переразвести системную плату и добавить микросхемы буферов. Возняк снова пошел через экономию кремния. В графическом режиме Apple II группа точек кодировалась 7 битами байта, а восьмой бит оставался свободным.

Возняк задействовал этот пустующий бит для управления простым сдвиговым регистром 74LS166. Когда восьмой бит переключался в единицу, вывод группы точек на экран аппаратно задерживался ровно на половину такта цветовой поднесущей — на доли наносекунды.

Для кинескопа задержка на четверть периода означала мгновенную смену фазового угла. Фиолетовый цвет в соседней точке смещался в синий, а зеленый превращался в оранжевый. Ни байта дополнительной памяти, ни одного заказного чипа — палитра выросла в полтора раза за счет использования паразитной задержки сигнала.

Когда инженеры Commodore и Atari впервые исследовали материнскую плату Apple II с логическими анализаторами, они часами не могли понять, где спрятан видеопроцессор. Они упорно искали сложные кремниевые микросхемы там, где работали только законы аналоговой физики и кварцевый кристалл за один доллар.

Изображение в превью:
Автор: Marcin Wichary / CC BY 2.0
Источник: commons.wikimedia.org
Другое
Автор не входит в состав редакции iXBT.com (подробнее »)

0 комментариев

Добавить комментарий

Сейчас на главной

Новости

Публикации

От «кукурузных» ядер до печек: 10 худших процессоров AMD

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

Зачем нужен цифровой рубль, если уже существуют карты и СБП?

У рубля появилась форма, которую нельзя положить в кошелёк, снять в банкомате или перевести на вклад. Внешне расчёт ею почти не отличается от привычной оплаты телефоном. Однако за знакомым...

В 50 раз рыхлее молотого кофе: астероид Бенну оказался космической кучей щебня

20 октября 2020 года автоматическая межпланетная станция OSIRIS-REx достигла поверхности околоземного астероида Бенну. Главной задачей аппарата был сбор образцов первичного вещества Солнечной...

«Электроника ТА1-003»: как во Фрязино повторили прецизионную механику Revox A700

На заводском стенде во Фрязино инженеры проверяли новый катушечный магнитофон на аварийную остановку: бобину с лавсановой лентой толщиной 35 микрон раскручивали до десяти метров в секунду и резко...

Почему некоторые навыки невозможно развить, сколько бы вы ни тренировались: геометрия пластичности мозга

Интерфейсы «мозг — компьютер» создаются для того, чтобы человек мог управлять внешними приборами напрямую, с помощью электрических или сосудистых сигналов коры больших полушарий. С...

Египетская Припять: почему бросили целый город посреди пустыни

Если сегодня просмотреть цены на недвижимость, шок можно испытать такой, что фантастические фильмы Кристофера Нолана про черные дыры и рядом не стояли. В таких условиях кажется, что за любой дом в...