Состоялся анонс ScarletNX — открытого статического рекомпилятора игр Nintendo Switch для ПК и Android

Группа разработчиков и участников сообщества эмуляции представила проект ScarletNX — свободный статический рекомпилятор типа AOT для игровых приставок архитектуры ARM. Программа позиционируется как прямое продолжение проекта Dynarmic и объединяет наработки QEMU, Eden, Citron, ARMeillure и Nexium. Технической основой послужил форк SwitchRecomp от команды MZLab, созданный для переноса программного обеспечения Nintendo Switch на персональные компьютеры и альтернативные платформы.

Архитектура инструмента ориентирована на статическую трансляцию машинного кода ARM64 и AArch32 в нативные инструкции под целевую операционную систему с задействованием компиляторных бэкендов LLVM и GCC через интерфейс libgccjit. Авторы сделали упор на перекомпиляцию инструкций центрального процессора, реализовав систему как в виде самостоятельного эмулятора, так и в формате независимой библиотеки libscarletnx-recompiler для интеграции в сторонние проекты.

Несмотря на успехи в обработке инструкций центрального процессора, подсистема трансляции графического процессора пока находится в незрелом состоянии. Разработчики не скрывают низкую производительность и точность вывода изображения по сравнению со зрелыми эмуляторами, объясняя текущее положение нехваткой профильных специалистов по графическим чипам.

На текущей стадии развития инструмента разработчикам удалось добиться запуска таких проектов, как The Legend of Zelda: Tears of the Kingdom, Hollow Knight, Rain World и KOI DX в образах форматов XCI и NSP. Дополнительно в проект включен экспериментальный модуль scarletnx-3ds, который уже способен извлекать данные из расшифрованных архивов CIA для портативной системы Nintendo 3DS, хотя исполнение самого кода пока остается неполным.

Программный комплекс разрабатывается под свободной лицензией GPLv3 и адаптирован для операционных систем Windows, Linux, FreeBSD и Android. Для запуска перекомпилированных приложений требуется графический драйвер с поддержкой Vulkan 1.3, а первые тестовые ночные сборки под архитектуры x86_64 и aarch64 уже опубликованы в репозитории на GitHub.

Источник: www.playground.ru

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев