analogteam.

НовостьРетро-гейминг

Pico Bootloader: как запускать игры с разных ретро-консолей на одном чипе RP2350

По данным Adafruit Blog, разработчик Франк Худемакерс представил Pico Bootloader — мультиэмуляторный загрузчик, заточенный под платы на чипе RP2350.

Pico Bootloader: как запускать игры с разных ретро-консолей на одном чипе RP2350

Загрузчик, способный разом поднять несколько классических платформ на одной крохотной плате — это именно тот сценарий, где микроконтроллерный мир и ретро-гейминг сталкиваются лбами с неожиданно элегантным результатом. По данным Adafruit Blog, разработчик Франк Худемакерс представил Pico Bootloader — мультиэмуляторный загрузчик, заточенный под платы на чипе RP2350. Программный продукт позиционируется как способ запускать классические игры с NES, SNES, Sega Genesis и других ретро-консолей, причём без необходимости вручную перепрошивать каждый раз, когда захочется переключиться между системами. Для аудитории, привыкшей паять собственные ретро-клонов и колдовать с GPIO-пинами, это событие заслуживает пристального внимания.

RP2350 как площадка для эмуляции: почему это работает

Решение Худемакерса выглядит закономерным шагом в эволюции «пикошной» эмуляции. Чип RP2350 — прямой наследник RP2040, ставшего культовым среди мейкеров благодаря своей двуядерной архитектуре и недорогой платформе. RP2350 наследует эту философию: два ядра Cortex-M33, которые программисты-энтузиасты давно научили тянуть эмуляцию 8- и 16-битных консолей, разбрасывая задачи по прерываниям и DMA-трансферам, чтобы уместить целый NES или Sega Genesis в рамки микроконтроллера. Загрузчик превращает этот процесс из квеста «зашей прошивку, протестируй, зашей следующую» в нечто более цивилизованное — единый интерфейс для выбора целевой консоли прямо на старте.

Суть продукта: один загрузчик — несколько консолей

Главное достоинство Pico Bootloader, насколько можно судить по описанию, — это именно маршрутизация. Вместо того чтобы хранить на флешке по отдельному firmware-образу на каждую эмулируемую систему и переключаться между ними через перепрошивку или хитрые комбинации кнопок, загрузчик берёт на себя роль «диспетчера». Он представляет собой прослойку между аппаратной кнопкой (или меню на экране, если подключён дисплей) и конкретным эмуляторным ядром — NES-ядром, SNES-ядром, Genesis-ядром и так далее. Худемакерс не разглашает в доступных материалах точную архитектуру загрузчика, но сама идея мультизагрузки для микроконтроллерных плат — это паттерн, который встречается и в мире Arduino, и в мире STM32: bootloader занимает минимальный слот во flash-памяти, анализирует, какой образ ему нужен, и передаёт управление соответствующему коду.

Что это значит для энтузиастов ретро

Для сообщества, которое собирает портативные ретро-консоли на Raspberry Pi Pico, значение очевидно: вместо нескольких платок в кармане — одна. Вместо шаманства с UF2-файлами и терминалом — загрузка нужной системы в пару нажатий. RP2350 при этом даёт запас производительности относительно RP2040, который уже успешно тянул NES и даже продемонстрировал работоспособные порты SNES-эмуляторов с ограничениями. Загрузчик Худемакерса, если подтвердится его стабильность на практике, может стать стандартной точкой входа для тех, кто хочет собрать универсальный ретро-гаджет на базе «пико» без глубокого копания в линковке и memory mapping каждого эмулятора по отдельности. Пока детали доступны только через публикацию Adafruit Blog — следим за появлением исходников и первой волны отзывов от мейкеров, которые попробуют загрузчик в деле.