本文へスキップ
PS5PCEM
一部ファームウェアと HLE

カーネルの非同期ファイル読み取り

カーネルの AIO の API は、読み取りのバッチを受け付けて識別子を返します。PS5PCEM はインターフェースが許すとおり送信時にバッチを実行し、タイトルは完了した結果を受け取ります。

2026年10月10日 までのリポジトリノート

インターフェース

アセットをストリーミングするエンジンは、読み取りのリストを送信し、後でそのバッチが終わったかを尋ねます。そのように作られたタイトルは、この API なしではファイルを読み込めません。PS5PCEM はバッチを受け付け、送信時に読み取りを実行し、結果を識別子のもとに保存します。後のポーリングでは、すでに完了したバッチが見えます。

即座に完了することは、このインターフェースの正当な結果です。呼び出し側は、ポーリングの前に終わったリクエストを扱う必要があります。エミュレーターはデバイスの遅延をまねるために眠ったりせず、より非同期らしく見せるためにバッチを失敗と報告したりもしません。

APR との違い

カーネルの AIO は、タイトルがすでに開いたファイルディスクリプターに対する POSIX 風のバッチです。APR はアクセラレーターの経路で、パスが識別子になり、コマンドはカウンターと完了イベントを伴う AMPR のコマンドバッファにあります。タイトルはどちらか、あるいは両方を使えます。

どちらの経路も、タイトルのインストールを、エミュレーターが作ったものではないデータとして読みます。範囲は確認されます。短いバッファや不正なディスクリプターはエラーとして返り、部分的な書き込みを成功として見せることはありません。

実装済みのこと

  • バッチの送信、識別子、タイトルが受け取れる完了。
  • タイトルが開いたファイルに対して行う読み取り。
  • ゲストの API が許す即座の完了。

まだ足りないこと

  • ディスクの遅延をまねる別の I/O スレッドはありません。
  • 本体の優先度と帯域のスケジューラーはモデル化していません。
  • APR のコマンドバッファは別の API で、カーネルの AIO に書き換えることはありません。

関連するしくみ

これらのページについて

本文は PS5PCEM リポジトリのアーキテクチャノートと 2026 年 10 月のレポートに基づいています。個別のテストに合格したことは、新しいフレームレートや新しいクリアを意味しません。

すべての技術