Проект Ryty научился переносить игры с PlayStation 4 и PlayStation 5 на ПК и macOS без эмуляции

от aadmin

Сообщество независимых разработчиков представило релиз утилиты Ryty версии 1.0.1, созданной для автоматической конвертации исполняемых файлов PlayStation 5 и PlayStation 4 в нативные приложения для Windows, Linux и macOS. Проект развивается как форк наработок AnyPS5 и опирается на концепцию статического перелинкования консольного бинарного кода без использования классических эмуляторов или тяжелых промежуточных уровней виртуализации.

Ключевая идея авторов Ryty состоит в полном отказе от имитации консольного процессора или окружения операционной системы на лету. Утилита принимает расшифрованный исполняемый файл ELF формата eboot.bin и перестраивает его структуру так, чтобы оригинальный машинный код исполнялся процессором компьютера напрямую. Все вызовы к проприетарным системным библиотекам консоли заменяются на совместимые открытые реализации библиотек PRX, которые связываются динамически в момент старта.

В свежем обновлении под номером 1.0.1 инструментарий получил поддержку бинарников PlayStation 4 наряду с проектами для более современной консоли. Система умеет автоматически определять поколение консоли по структуре файла либо принимать явное указание через параметры запуска. Для операционной системы macOS разработчики добавили экспериментальный графический мост на базе Metal API, позволяющий транслировать вывод графики без привлечения дополнительных прослоек.

Рекомендую посмотреть
Windows 11 версии 26H2 выйдет осенью 2026 года без новых требований

Особое внимание авторы уделили различиям в наборах процессорных команд, так как в консолях Sony установлены чипы AMD со специфическими инструкциями. Для совместимости с процессорами Intel встроен специальный транслятор, понижающий редкие инструкции вроде CLZERO, RDPRU, MONITORX и аппаратно зависимый набор SHA-NI до уровня универсальных инструкций SSE2. Все замены происходят либо прямо на месте без изменения длины кода, либо через короткие безопасные трамплины в памяти, протестированные сотнями тысяч автоматических проверок.

Для взаимодействия с инструментарием подготовлен графический интерфейс ryty-gui на основе Qt6, доступный на всех поддерживаемых платформах. Оболочка берет на себя выбор путей, тонкую настройку фильтрации неиспользуемых системных вызовов, отображение цветового журнала процесса и генерацию детального отчета в формате JSON со списком всех подмененных участков кода.

Помимо обработки исполняемых файлов утилита поддерживает прямое подключение геймпадов через библиотеку SDL2 с сохранением работы аналоговых стиков и курков, а также управление связкой клавиатуры и мыши через текстовые конфигурационные файлы. Исходный код проекта распространяется под лицензией GPL-2.0, а для самостоятельной сборки перелинковщика необходим только стандартный компилятор с поддержкой стандарта C++20.

Связанные посты