
Предлагаемая конструкция является доказательством того, что цветной композитный видеосигнал в системе NTSC может быть сгенерирован при помощи очень простого «железа».
Краткое описание
Хотя цветной композитный видеосигнал в системе NTSC генерировать сложнее, чем VGA, для этого требуется меньше выводов микроконтроллера (в данном случае — три, объединённые простейшим «микшером»). Композитным он называется потому что вся информация передаётся по одной линии. Строчные и кадровые синхроимпульсы, сигналы цветности и яркости объединены вместе, в отличие от VGA, где для каждого из этих сигналов выделено по отдельному проводу. Чтобы подать такой сигнал на телевизор, достаточно одного экранированного кабеля с «тюльпанами» с обеих сторон.
В устройстве всего два активных компонента: кварцевый генератор на 28,636 МГц (3,5795345 МГц x 8) и микроконтроллер PIC12F1572 в корпусе PDIP.
Автор решил реализовать аналог классической игры Breakout 1976 года, но на её месте могла оказаться любая аркадная игра, в оригинале реализованная на логических микросхемах, поскольку у таких игр достаточно просты сюжеты.
Теперь — подробнее
Если вы думаете, что не сможете подключить устройство к слишком современному телевизору без жёлтого «тюльпана» — к счастью, вы ошибаетесь. Ищите зелёный «тюльпан» среди предназначенных для сигналов YPbPr — туда же можно подавать и композит. Проверено на двух телевизорах, один из которых фирмы RCA, другой — Toshiba.
Насколько простым может быть устройство, генерирующее композитный видеосигнал стандарта NTSC? Смотрите схему:

Внешней генератор нужен для получения стабильной частоты поднесущей NTSC. Она в восемь раз больше требуемой. Микроконтроллер делит её на четыре, а значит, работает на частоте, вдвое превышающей частоту поднесущей. Устройство позволяет получать шесть цветов за счёт разных сочетаний четырёх видов сигналов (логическая единица, высокоимпедансное состояние, поднесущая без ��двига фазы, она же со сдвигом фазы на 180°) на двух выводах (первый — выход сигнала цветности, второй — вывод сигнала яркости):
Чёрный — высокоимпедансное состояние и там и там
Белый — высокоимпедансное состояние и логическая единица
Жёлтый — поднесущая со сдвигом на 180° и логическая единица
Пурпурный — поднесущая без сдвига и логическая единица
Синий — поднесущая без сдвига и высокоимпедансное состояние
Тёмно-зелёный — поднесущая со сдвигом на 180° и высокоимпедансное состояние
Тёмно-зелёный цвет на многих телевизорах получается неотличимым от чёрного, в связи с чем не используется. Камера автора плохо передаёт цвета, поэтому пурпурный на фото выглядит почти как белый:

Файлы лежат здесь под GPL v3.
Код написан на ассемблере, из двух килослов ПЗУ (в микроконтроллерах PIC ПЗУ хранит не байты, а слова шириной, отличающейся от 8 бит) задействовано 54%, а из 256 байт ОЗУ — 63%. Видео снято той же камерой, и пурпурный снова сливается с белым:
Краткая история игры Breakout приведена в Википедии.
Сверхминиатюрный джойстик автор изготовил, приклеив силовую канцелярскую кнопку к подстроечному резистору. Он сильно шуршит, что мешает играть, поэтому лучше применить переменный резистор и ручку к нему обычных размеров.

От переводчика: в этой схеме один и тот же вывод микроконтроллера используется и для вывода аудио, и для получения аналогового сигнала от джойстика. Вероятно, для этого он программно переключается в нужные моменты из режима входа в режим выхода и обратно. Чтобы постоянная составляющая не попала в телевизор, рекомендуется перед «тюльпаном» поставить конденсатор.
