Немецкий разработчик и программист Себастьян Стаакс (Sebastian Staacks) рассказал о придуманном и созданном им адаптере GB Interceptor, который позволяет транслировать игру с немодифицированной портативной консоли Nintendo Game Boy посредством USB на другое устройство — например, ноутбук.
Источник изображения: there oughta be
GB Interceptor (не Game Boy Interceptor) вставляется в слот для картриджа и реконструирует изображение с приставки для потоковой передачи. В отличие от Game Genie, устройство Стаакса не вмешивается во взаимодействие между Game Boy и игрой — они остаются связаны напрямую.
Для этого Стааксу пришлось написать почти полный эмулятор Game Boy, работающий на одном ядре используемого GB Interceptor микроконтроллера RP2040 (основа крошечной платы Raspberry Pi Pico). В это же время второе ядро эмулирует графический процессор (PPU) и выдаёт результат через USB.
Стаакс объясняет, что GB Interceptor не видит, какую кнопку нажимает игрок, но это и не нужно. Адаптер просто исполняет код (например, команды прыжка) вслед за Game Boy, потому что только его и распознаёт: «Можно сказать, что GB Interceptor — это эмулятор на рельсах».
Ввиду комбинации нескольких факторов выходящая из GB Interceptor потоковая трансляция ограничена 29 кадрами/с в разрешении 160×144. На корпусе адаптера также есть кнопки для переключения оттенка изображения (серый, зелёный) и эффекта смешивания кадров (для симуляции задержки LCD-экрана).
Стоит отметить, что GB Interceptor поддерживает только игры с классической Game Boy, но также работает с Game Boy Color и Advance. Устройство также не эмулирует звук (его можно получить из разъёма для наушников), страдает от незначительной (2−3 кадра) задержки при трансляции на большой экран и неминуемых графических артефактов.
Заполучить GB Interceptor в свои руки не так-то просто: плату нужно заказать (Стаакс использовал сервис JLCPCB), припаять коннектор для картриджа, перенести на устройство файл с программным обеспечением и поместить гаджет в кейс (вариантов несколько). Пошаговая инструкция доступна на GitHub и в отдельном видео.
Источники: