Перейти к содержимому
PS5PCEM
ЧастичноПрошивка и HLE

Асинхронные чтения файлов ядра

API AIO ядра принимает пакет чтений и возвращает идентификатор. PS5PCEM выполняет пакет в момент подачи, что интерфейс позволяет, а игра забирает готовый результат.

Заметки репозитория по 10 октября 2026 г.

Интерфейс

Движки, которые потоково читают ресурсы, подают список чтений и позже спрашивают, закончен ли пакет. Игра, построенная так, не может загрузить файл без этого API. PS5PCEM принимает пакет, выполняет чтения в момент подачи и сохраняет результаты под идентификатором. Более поздний опрос видит пакет, который уже завершён.

Немедленное завершение — законный исход интерфейса. Вызывающие обязаны обработать запрос, который закончился до опроса. Эмулятор не засыпает, чтобы изобразить задержку устройства, и не сообщает пакет как неудачный, чтобы выглядеть более асинхронным.

Чем это отличается от APR

AIO ядра — это пакет в стиле POSIX по файловым дескрипторам, которые игра уже открыла. APR — путь ускорителя: пути становятся идентификаторами, а команды живут в буфере команд AMPR со счётчиками и событиями завершения. Игра может использовать любой из путей или оба.

Оба пути читают установку игры как данные, которые эмулятор не производил. Границы проверяются. Короткий буфер или плохой дескриптор — это возврат ошибки, а не частичная запись, выданная за успех.

Что реализовано

  • Пакетная подача, идентификатор и завершение, которое игра может забрать.
  • Чтения по файлам, которые открыла игра.
  • Немедленное завершение, которое разрешает гостевой API.

Чего ещё нет

  • Отдельного потока ввода-вывода, изображающего задержку диска, нет.
  • Планировщик приоритета и полосы пропускания консоли не моделируется.
  • Буферы команд APR — другой API, и они не переписываются в AIO ядра.

Связанные механизмы

Чему посвящены эти страницы

Текст следует архитектурным заметкам и отчётам октября 2026 года в репозитории PS5PCEM. Пройденный точечный тест — это не новая частота кадров и не новое прохождение.

Все технологии