PlayStation 3エミュレーターのRPCS3が、システムモジュールの読み込みを管理する「cellSysmodule」を独自実装した。ゲームが呼び出すSony製のlibsysmodule.sprxを実行する代わりに、RPCS3自身が同じ役割を担う。この変更は2026年7月1日にマージされ、現在のコードではHLEが既定で選ばれる。

ただし、利用者がすぐにPS3ファームウェアを削除できるわけではない。RPCS3の公式手順は、他の依存関係とプロプライエタリ・ライブラリのためにPS3システムソフトウェアが必要だと明記している。今回の変更は、ファームウェア不要化の完成時期を示すものではない。エミュレーターがSony製バイナリに頼る範囲が一つ減った。

AD

7月1日のマージで変わったこと

開発者Simon Capriotti氏がcapriots名義で提出したPR #18962は、cellSysmoduleの「完全な実装」とHLEの既定化を目的に掲げた。7コミットで12ファイルを更新し、1,462行を追加、342行を削除している。変更の中心となったcellSysmodule.cppだけで1,265行が加わった。既存の関数を数個埋めた程度のパッチではない。

新しいコードは、初期化と終了に加え、モジュールの読み込み、解放、読み込み済みかどうかの照会を処理する。メモリコンテナを使うパスや、セーブステートと衝突しないための排他も入った。査読ではセーブステートへの対応や、ファームウェア内にあるデータの扱いが詰められ、修正後に承認された。

既定値の変更は小さいが、効果は明確だ。ファームウェアライブラリの扱いを決めるg_prx_listで、libsysmodule.sprxの値は0から1へ変わった。ソース中の定義に従えば、1はHLEを既定で選ぶ。ゲームから同名ライブラリの読み込みが求められても、SonyのSPRXは実行されず、RPCS3側の関数へつながる。

cellSysmoduleはPS3のライブラリを束ねる

cellSysmoduleの仕事は、音声や映像を自らデコードすることではない。ゲームから渡されたモジュールIDを手がかりに、対応するシステムライブラリを読み込み、使用状態を管理する。必要な前提ライブラリがあれば先に読み込み、解放時は逆順に処理する。

RPCS3の実装表には、ネットワークやHTTP/SSL、ファイルシステムへの経路が並ぶ。映像・音声デコーダやカメラも管理対象だ。例えばHTTPSを要求する場合は、SSLとHTTPが依存先になる。cellSysmoduleはそれらの順序と参照数を管理し、同じライブラリが二重に解放されるのを防ぐ。目立たないが、多くのシステム機能が通る交差点である。

HLEとLLEの違いは、その交差点を誰のコードで動かすかにある。HLEは、ゲームから見える関数と振る舞いをRPCS3側で再現する。LLEは、ファームウェアから取り出した元のSPRXバイナリを読み込む。cellSysmoduleをHLE化したことで、この管理部分はRPCS3のソースコードとして追跡できるようになった。

AD

67対76、ファームウェア独立までの残距離

cellSysmoduleの切り替えだけでPS3システムソフトウェアを外せない理由は、現行のコードに数で表れている。2026年7月17日時点のg_prx_listを集計すると、登録された143モジュールのうちHLE既定は67、LLE既定は76だ。libsysmodule.sprxは前者に移ったが、音声・映像コーデックやSSLなど、Sony製ライブラリを読む経路は数多く残る。

公式Quickstartもこの状態を反映している。RPCS3にはPS3システムソフトウェアが必要で、利用者はメニューの「Install Firmware」から導入する。Sony Interactive Entertainmentは現在もシステムソフトウェア4.93のPS3UPDAT.PUPを公式サイトで配布しており、必要な空き容量は200MB以上だ。現状の導入体験は変わっていない。

この数から、完成時期を直線的に計算することもできない。各SPRXは規模も複雑さも異なり、コーデックのように代替実装の正確さがゲームの動作へ直結するものもある。RPCS3チームはファームウェア不要化の期限やロードマップを公開していない。

導入の手間と、公開コードで保守できる範囲

利用者にとって将来の実利は、SonyのサイトからPUPファイルを取得し、RPCS3へ別途インストールする手順を省けることだ。配布元のサイトや更新ファイルが将来どう維持されるかに左右されにくくなり、パッケージ作成や長期保存の条件も簡単になる。その段階まで進んだ場合の話である。

libsysmodule.sprxのHLE化により、RPCS3の開発者はモジュール管理を公開コード上で検証・修正できるようになった。RPCS3自体はGPLv2で公開され、処理を読み、修正し、別の環境へ移植できる。その一方で、RPCS3の法的免責事項はPS3のライブラリプログラムをSony Interactive Entertainmentの著作物と明記している。今回はlibsysmodule.sprxを実行する必要がなくなり、その処理をRPCS3側で保守できるようになった。

ただし、ファームウェアが不要になっても、ゲームの入手とダンプは別の手順として残る。RPCS3は正規に所有するゲームの利用を求め、PS3実機のCFW/HEN、または対応Blu-rayドライブでデータを取り出す方法を案内している。cellSysmoduleの変更は処理速度や対応タイトル数を直接伸ばすパッチでもない。

ファームウェア不要化は、g_prx_listのLLE既定がさらに減り、Quickstartから「PS3システムソフトウェアが必要」という条件が消えた時点で判断できる。今回のcellSysmodule実装は、libsysmodule.sprxを既定の実行対象から外した。