РАЗРАБОТКА

Super Mario 64 запустили на медиаплеере Microsoft Zune HD

Super Mario 64 нативно запустили на Microsoft Zune HD 2009 года: порт использует Tegra, сенсорное управление, звук и сохранения.

✍️ Редакция iTech News | 12.10.2026 | ⏱ 4 мин | Источник: Tom's Hardware
🛠

Порт Super Mario 64 заработал нативно на Microsoft Zune HD — медиаплеере 2009 года с чипом Nvidia Tegra APX 2600. Игра запускается со звуком, сохранениями и сенсорным экранным геймпадом; для разработчиков это не столько повод срочно искать Zune на барахолке, сколько наглядный разбор того, как оживлять закрытое железо с весьма капризной графической подсистемой.

Проект опубликовал разработчик rsheldiii, сообщает Tom's Hardware. Он собран на базе sm64ex — форка неофициальной PC-версии Super Mario 64 — и использует домашний SDK OpenZDK. Готового ROM-файла в репозитории нет: при сборке требуется самостоятельно извлечённая копия игры со своего картриджа. Затем собранный бинарник можно перенести на плеер по USB.

Не эмуляция, а нативный код на ARM

Главная особенность проекта в том, что это не запуск игры через эмулятор Nintendo 64. Порт Super Mario 64 исполняет нативный ARM-код поверх штатной ОС Zune HD, построенной на Windows CE. Прошивку устройства менять не нужно, хотя автор традиционно предупреждает, что любые эксперименты с неподдерживаемым железом пользователь проводит на свой риск.

Zune HD вышел в 2009 году как ответ Microsoft на iPod. Устройство получило 3,3-дюймовый OLED-дисплей с тачскрином и Tegra APX 2600, а стоило от 219,99 до 289,99 доллара в зависимости от объёма памяти. Сторонние игры тогда предполагалось распространять через XNA, но платформа прожила недолго: Microsoft остановила производство линейки в 2011 году. Позже найденная уязвимость открыла дорогу OpenZDK и домашнему ПО — тому самому сценарию, который обычно начинается со слов «а сможет ли на этом запуститься Doom или Mario».

Игра рендерится в ландшафтном разрешении 480×272, а сам плеер нужно повернуть соответствующим образом. Логика работает с частотой 30 тиков в секунду. Автор не приводит замеров FPS и признаёт, что в тяжёлых сценах устройство иногда не успевает за расчётами. Зато синтез звука вынесен в отдельный поток с более высоким приоритетом, поэтому просадки кадровой частоты не должны превращать музыку и эффекты в цифровую кашу.

Почему этот порт интереснее обычного «запустили на тостере»

Самая содержательная часть работы скрыта не в виртуальном стике, а в обходе ограничений графического драйвера Zune HD. Рендерер OpenGL ES 2 построен на основе Fast3D, но драйвер устройства не умеет компилировать GLSL-шейдеры на месте. Поэтому разработчик подготовил варианты шейдеров заранее, используя инструменты Nvidia cgc и shaderfix. Даже смешивание цветов пришлось переносить во фрагментные шейдеры: у GPU нет аппаратного fixed-function blending. Это хороший пример старой инженерной истины: производительность и совместимость нередко определяет не паспортная мощность чипа, а набор доступных драйверных возможностей.

Управление нарисовано поверх изображения игры: есть имитация аналогового стика, кнопки A, B, Z, R, четыре кнопки C и Start. Оформление и прозрачность кнопок можно настраивать. Сенсорный интерфейс, конечно, не заменяет физический контроллер Nintendo 64, но для демонстрации жизнеспособности платформы этого достаточно. Порт пока проверен только на прошивке 4.5, не имеет готовых релизов и накладывает 14 патчей на зафиксированную версию sm64ex — то есть это скорее воспроизводимый исследовательский проект, чем приложение для широкой аудитории.

Техническая цепочка тоже показательна. Фанатская декомпиляция Super Mario 64, завершённая в 2019 году, восстановила C-код, способный собрать совместимый ROM, но не распространяет игровые ресурсы. Полноценная PC-версия на этой основе появилась в 2020-м, а sm64ex добавил к ней дополнительные возможности вроде управления мышью и меню читов. Nintendo уже преследовала сайты с готовыми сборками PC-порта и как минимум одно видео с демонстрацией, поэтому разделение исходного кода, патчей и игровых ассетов здесь имеет не только технический смысл.

Подобные переносы давно вышли за пределы хобби «ради скриншота»: Super Mario 64 уже появлялась на 3DS, Wii U, PS2, PlayStation, PS Vita, Dreamcast, Nintendo DS и DSi, а также в браузере. В первом коммите нынешнего проекта есть отметка о соавторстве Claude Opus 5.5, поэтому ИИ-инструменты, по крайней мере частично, участвовали в его подготовке. Они не отменяют необходимость разбираться в ABI, драйверах и графическом пайплайне, но заметно снижают цену эксперимента — особенно для устройств, документация которых давно перестала быть чьей-либо коммерческой заботой.

Порт Super Mario 64 на Zune HD показывает, что даже закрытый и давно снятый с производства гаджет можно превратить в рабочую платформу, если есть доступ к низкоуровневому коду и терпение к ограничениям драйверов. Интересный вопрос теперь не в том, сколько ещё устройств переживут встречу с Марио, а в том, станет ли ИИ ускорителем именно таких трудоёмких портов — без иллюзии, что он способен заменить инженера в дебрях старого железа. Подробности проекта собраны в материале Tom's Hardware.

Поделиться: Telegram X LinkedIn