Энтузиаст под ником vricosti опубликовал исходный код и первые тестовые сборки проекта ruzu — экспериментального эмулятора консоли Nintendo Switch, написанного на языке программирования Rust. Главной особенностью разработки стал способ ее создания: автор полностью перенес массивную кодовую базу закрытого эмулятора yuzu и его форка eden с языка C++ на Rust исключительно силами современных больших языковых моделей и автономных ИИ-агентов. Проект уже добрался до релизной версии 0.0.1 и стал доступен для скачивания.
В ходе масштабного эксперимента искусственному интеллекту доверили перевод порядка 500000 строк сложного системного кода. Разработчик поставил перед нейросетями задачу не просто переписать отдельные изолированные алгоритмы, а полностью воссоздать архитектуру эмулятора, включая ядро HLE, планировщики, подсистему межпроцессного взаимодействия и процессор графических команд. Для полноценной работы автору также пришлось портировать сопутствующие ключевые зависимости, в результате чего появились отдельные библиотеки rxbyak и динамический рекомпилятор rdynarmic, корректность работы которых проверялась сравнением результатов инструкций с оригинальными решениями на C++.
По словам автора, весь процесс портирования занял около 6 месяцев, а суммарные затраты на доступ к языковым моделям составили сумму, сопоставимую со стоимостью 2 консолей Nintendo Switch. Пикантности ситуации добавляет тот факт, что разработчики оригинального форка eden официально запрещают использование генеративного искусственного интеллекта в своих репозиториях, тогда как весь проект ruzu целиком держится на коде, сгенерированном нейросетями.
Создатель проекта утверждает, что полученный результат превзошел начальные ожидания, позволив эмулятору запускать коммерческие игры с производительностью оригинальной сборки на C++. Чтобы протестировать работоспособность программы без нарушения авторских прав японской компании Nintendo, в релизный набор включили открытую фанатскую игру FreeBrick, не требующую прошивок и криптографических ключей. При этом автор предупреждает, что статус версии 0.0.1 остается ранним и экспериментальным, поэтому игроки могут столкнуться с вылетами, черными экранами, пропаданием звука и нестабильным числом кадров.
С технической стороны эмулятор оптимизирован для систем на базе процессоров x86-64 и ARM64, поддерживая работу через графический интерфейс GTK и графический API Vulkan. Готовые исполняемые файлы разработчик подготовил для Windows 10, Windows 11 и macOS на чипах семейства Apple Silicon, тогда как пользователям дистрибутивов Linux и систем BSD пока предложено собирать проект из исходников самостоятельно.
Появление проекта вызвало неоднозначную реакцию среди фанатов эмуляции и разработчиков. Часть профильного сообщества выразила скепсис по поводу использования языка Rust для критичных к задержкам и тяжелых задач вроде эмуляции современных консолей, напоминая о традиционных преимуществах оптимизации на C++. Другие пользователи упрекнули автора в создании очередного ответвления мертвого кода yuzu, заявив о бесполезности автоматической перегонки старых исходников нейросетями вместо решения застарелых графических проблем и архитектурных фризов.
Источник: www.playground.ru