Японский программист Ёсихито "GOROman" Кондо, ранее работавший инженером в компаниях Sega и Facebook*, опубликовал утилиту famicom-rf-hackrf-decoder для macOS, которая принимает УКВ-радиосигнал стандарта NTSC-J от игровой приставки Famicom (японской версии Nintendo NES) и в реальном времени декодирует его в изображение на экране компьютера, воспроизводя визуальные особенности аналогового телевидения.
Источник: GitHub
В отличие от графических шейдеров, накладываемых поверх цифровых видеоданных игровых эмуляторов, проект работает с физической 8-битной приставкой. Программа принимает радиочастотный видеовыход Famicom с помощью SDR-приёмника HackRF One, выполняя полное декодирование цвета NTSC на языке C++20 с использованием библиотек libhackrf и SDL2, без применения GNU Radio. Изображение с приставки, подключённой к HackRF One, отображается так, как если бы оно транслировалось на телеканале 1 или 2 японского вещательного стандарта, но выводится в окне на рабочем столе современного компьютера. Исходный код опубликован на GitHub под лицензией MIT.
Разработчику пришлось учитывать, что видеосигнал Famicom не соответствует вещательным стандартам: развёртка не чересстрочная (240p), фаза цветовой поднесущей сдвигается на 120 градусов на каждой строке, а одна строка кадра короче остальных. Из-за этого декодер выполняет ряд фоновых вычислений, компенсирующих дрейф частоты, нестабильность и колебания цветовой синхронизации.
Первая демонстрация проекта во вторник, 14 июля, вызвала неоднозначную реакцию: часть пользователей сочла имитацию помех, мерцания и цветовых искажений чрезмерной, сравнив результат скорее с «симулятором неисправного телевизора», чем с точной эмуляцией ЭЛТ-экрана. Сам автор объяснил, что утрированный эффект «повреждённого экрана» в первом ролике был получен намеренным сдвигом УКВ-частоты.
Источник: x.com
В тот же день GOROman выпустил обновление, добавив функцию, реагирующую на физический удар по корпусу монитора — по аналогии с распространённым методом «ремонта» старых ламповых телевизоров лёгким постукиванием. В сопроводительном сообщении на этот счёт разработчик отметил: «В ответ на пожелания пользователей мы добавили поддержку постукивания по экрану телевизора».
При анализе доступного кода выяснилось, что в проекте не задействован специфический для Apple датчик наклона крышки ноутбука MacBook, вопреки высказывавшимся в соцсетях предположениям. В коде на GitHub присутствует параметр входного сигнала «audio tap», что указывает на то, что эффект постукивания, вероятно, основан на анализе звука с микрофона устройства. По данным разработчика, среди пользователей уже прозвучала просьба добавить в программу режим имитации воздействия магнитом на экран.
*Деятельность американской компании запрещена на территории Российской Федерации.

