Android向けPS3エミュ『ARMSX3 0.9』公開! ARM64とx86の演算差異984件をゼロに、『Borderlands 2』なども改善

Android向けPS3エミュ『ARMSX3 0.9』公開! ARM64とx86の演算差異984件をゼロに、『Borderlands 2』なども改善

Android搭載デバイスでPlayStation 3のゲームを動かすことを目指して開発が進められているエミュレーター『ARMSX3』。その最新版となるバージョン0.9が、2026年8月18日にGitHubで公開されました。

●ARMSX3公式GitHub
https://github.com/ARMSX2/ARMSX3

今回のアップデートでは、ARM64環境におけるSPUの浮動小数点演算が大幅に改善。デスクトップ向けRPCS3のx86版との比較で確認されていた984件の演算結果の差異が、ゼロになったと開発者が報告しています。

『ARMSX3』は、オープンソースのPlayStation 3エミュレーター『RPCS3』をベースに、ARM64を採用したAndroidデバイス向けに移植しているプロジェクトです。リポジトリでは最新のRPCS3コードを取り込んで開発が進められており、動作には別途PlayStation 3のシステムソフトウェアが必要です。

ARM64とx86で発生していた984件の差異を解消

今回もっとも大きな変更となったのが、PlayStation 3のSPUで行われる浮動小数点演算の精度改善です。RPCS3はもともとデスクトップPCのx86 CPUを中心に開発・テストされてきました。そのコードをスマートフォンなどで使われるARM64 CPUで実行した場合、一部の計算結果がx86環境とは異なるケースがあったとのことです。

厄介なのは、こうした違いが必ずしも分かりやすいエラーとして現れるわけではない点です。数値がわずかに異なることで、ゲームがしばらく動作したあと突然停止したり、データが破損したり、ログを残さず終了したりするケースが発生していました。

そこで開発チームでは、PlayStation 3の命令をひとつずつ実行するテストプログラムをx86版とARM64版の双方で動かし、結果を比較。その結果、当初984件あった差異をゼロまで減らすことに成功しています。

984件のうち500件はARM64側に存在していた問題で、今回修正されています。一方、残りの484件についてはx86側の処理方法による違いだったことも判明しました。

ただし、これは「実機PlayStation 3と完全に同じ演算精度になった」という意味ではありません。

開発者自身も、今回の変更によってARMSX3がRPCS3より正確になったわけではなく、RPCS3自体と実機PlayStation 3との間に存在する違いについてはそのままだと説明しています。あくまでも、ARM64版だけで追加発生していた差異を解消したというのが今回のポイントです。

『Borderlands 2』や『BLEACH』などの動作も改善

こうしたARM64関連の修正により、実際のゲームにも改善が確認されています。これまでロゴ表示後に停止していた『Borderlands 2』は、タイトル画面まで到達して映像が描画されるようになりました。同作では別々の2種類のARM64関連バグが発見されており、単なるゲーム個別の回避策ではなく、原因そのものが修正されています。

また、『BLEACH: Soul Resurrección(BLEACH ソウル・イグニッション)』では、これまでクラッシュしていたStory Modeまで進めるようになったほか、『Spider-Man: Edge of Time』で発生していたランダムなクラッシュも改善されています。

開発者によると、後者2タイトルについてはゲーム個別の修正を行ったわけではなく、『Borderlands 2』などを調査する過程で発見されたARM64側の問題を修正した結果として動作が改善したとのこと。そのため、ほかのタイトルでも同様の改善が期待できそうです。

Bluetooth接続の2~7人目のコントローラーにも対応

ゲームの互換性以外にも、コントローラー関連で複数の改善が行われています。これまでBluetoothで接続した2台目以降のコントローラーがエミュレーター側に正しく認識されない問題がありましたが、バージョン0.9ではプレイヤー2~7までのパッドが利用できるように修正されています。

また、素早くボタンを押したときの入力が取りこぼされる問題や、アナログ軸として認識されるL2/R2トリガーを割り当てられない問題、ジャイロ入力なども修正されています。USBキーボードのエミュレーション機能も追加され、ゲーム中にAndroidのソフトウェアキーボードを呼び出すことが可能になりました。

同日には『ARMSX3 0.9.1』も公開

さらにバージョン0.9公開後、同じ8月18日には修正版となる『ARMSX3 0.9.1』もリリースされています。

0.9では2台目以降のBluetoothコントローラーを利用できるようにするため、起動時から7つすべてのパッドポートを有効にする変更が加えられていました。しかし、この方法ではゲーム側から「7台のコントローラーが接続されている」ように見えてしまうという新たな問題が発生していました。

0.9.1ではこれを修正し、2~7番目のポートについては実際にコントローラーから入力が行われた時点で接続済みとして扱う方式に変更されています。

さらに、Androidの権限制限によって外部のファイルマネージャーから追加しにくかったPlayStation 3のセーブデータについても、アプリ内からZIPファイルまたはフォルダーを直接インポートできる機能が追加されました。

まだ発展途上のプロジェクトではあるものの、Android端末上でのPlayStation 3エミュレーションは短期間でかなりの勢いで改善が進んでいます。今回のようにARM64固有の問題そのものが取り除かれていけば、今後対応タイトルが一気に増えていく可能性もありそうです。

via.ARMSX3 0.9 Release

ABOUT US
アバター画像
retrogamer