Написать в блог
Блоги
Fantoci

Текст опубликован в личном блоге и его автор не имеет отношения к администрации сайта

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

Японский программист Ёсихито "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», что указывает на то, что эффект постукивания, вероятно, основан на анализе звука с микрофона устройства. По данным разработчика, среди пользователей уже прозвучала просьба добавить в программу режим имитации воздействия магнитом на экран.


*Деятельность американской компании запрещена на территории Российской Федерации.

Источник: tomshardware.com
Теперь в новом формате

Наш Telegram-канал @overclockers_news
Подписывайся, чтобы быть в курсе всех новостей!

Популярные новости