banner

ブログ

Jul 04, 2023

方法: 2023 年に PS4 Homebrew を作成する (チュートリアルのようなもの)

投稿者: wololo · 2023 年 8 月 26 日

古い PS4 を棚から取り出して、PS4 用の自作を真剣に調べて以来、PS4 用の自作を作成するのがどれほど簡単になったか (またはそうでないか) を確認することにしました。

良いニュース: PS4 を自作する方法に関する優れたチュートリアルはすでに存在しており、それらは 2023 年現在でも非常に有効であり、ほとんどの場合、必要なものはすべて揃っています。 悪いニュース: Google や Bing が熱心に表面化させようとしているゴミの海の中で、それらを見つけるのは驚くほど困難です。 「PS4 Homebrew の作り方」や「PS4 Homebrew チュートリアル」などの一見単純なクエリでは、特に興味深い結果は得られませんでした (少なくとも私にとっては)。 しかし、最終的には正しいものへの道を見つけました 🙂

このガイドでは次の点に焦点を当てますWindows と Visual Studio、しかし一般的に言えば、私が指摘しているガイドとリソースはLinuxとMacOSでも同様に有効です。

このガイドは、読者が以下のことを十分に理解していることを前提としています。

このセクションだけで十分に始めることができます。 ただし、それが完了したら、デバッグ環境をセットアップしてください (下記の「デバッグ」を参照)。 問題が発生した場合は、「トラブルシューティング」セクションを確認してください。

何かをダウンロードまたはインストールする前に、以下の 5 つのポイントを最初から最後までお読みください。 特に Spectre の最初のビデオでは、インストール プロセス全体 (以下のポイント 2 の全体) をガイドしています。 そして、率直に言って、このチュートリアルを読みたくない場合に実際に必要なのは、おそらく SpectreDev のビデオ シリーズだけです。

ハッキングされた PS4 用の Homebrew の作成を開始するには、上記の 5 つの手順で十分です。 PS4 用の自作を作成する他の方法は存在しますが (悪名高いことに、Unity を使用してリークされた公式 Sony SDK を使用するなど)、OpenOrbis ツールチェーンは、2023 年にコミュニティによってサポートされる最新のツールです 。 また、ツールチェーンとその依存関係に慣れれば、必要に応じて最新かつ最高のバージョンに更新することができます。

それにもかかわらず、Windows マシン上で自作環境を立ち上げて実行するという私の探求の中で、次の問題に遭遇しました。そのうちのいくつかはあなたにも起こるかもしれません。

これは、現在実行しているファームウェアよりも高いファームウェア用に作成された PS4 アプリケーションを実行しようとすると発生するエラーのようです。 PS4 ゲームをより低いファームウェアに「バックポート」しようとしている人は、特にこの問題に精通しています。

私の場合、Homebrew 開発の文脈では、私の PS4 がファームウェア 4.05 であったのに対し、OpenOrbis ツールチェーンはファームウェア 4.5x 以降をサポートするように書かれていたため、これが起こりました。 その選択は任意ですが (ツールチェーンの作成時に、最新の SDK 番号として SDK 4.508.101 が選択されました)、理論的には、その SDK バージョンを適切なバージョンに置き換えることで、Homebrew にパッチを当てて 4.05 で動作するようにすることができます。私は個人的には気にしないことにし、PS4 をファームウェア 5.05 にアップグレードしました。

Mira と GoldHEN は、Homebrew のログのランタイム出力をターミナルで取得する方法を提供します (下記の「デバッグ」を参照)。 しかし、PS4 ツールチェーンで提供されているサンプルのテストでは、それらは見られませんでした。 LLVM のバージョンやその他の要因によっては、libc が printf を間違ったパイプにリダイレクトしている可能性があるようです (これについては引用しないでください)。 Illusion が提案した解決策は、PS4 の内部 libc を通常のものよりも優先して使用することでした。 これは、ライブラリのセットセクションに -lSceLibcInternal を追加することで行われましたbuild.batファイル、-lc の前:

Visual Studio 自体から OpenOrbis VS テンプレートを「インストール」する方法は見つかりませんでした。 結局、やるべきことは、それらを (抽出せずに) C:\Users\[ユーザー]\Documents\Visual Studio 20xx\Templates\ProjectTemplates\Visual C++ Project フォルダーにコピーすることだけです。

Spectre は、次のように親フォルダーでも機能すると述べています。

これらはどちらも機能するはずで、Visual Studio で新しいプロジェクトを作成するときに、テンプレートが準備されているはずです。 これらのテンプレートを使用すると、プロジェクトを作成できますが、さらに重要なのは、make およびパッケージ作成コマンドを手動で実行する代わりに、Visual Studio の「ビルド」ボタンを使用してプロジェクトをビルドできることです。 言うまでもないことですが、これらの Visual Studio テンプレートは手動で実行できる作業のショートカットにすぎず、魔法を実行するものではありません。 これらは「必要」ではありませんが、いくつかのことを抽象化してくれる優れたヘルパーです。

共有