
CFW framework for PS Vita
taiHENはPS Vita™用のCFWフレームワークです。カーネルエクスプロイトとともにロードされると、システムにパッチを適用するための共通基盤として機能します。taiHENは主に3つの機能を提供します。
最後の点は、開発者がカーネル、システムアプリケーション、ゲームのいずれに対してもカスタムパッチを追加できることを意味します。
ビルドするには、カーネル対応の最新版 toolchain が必要です。あとはCMakeを使ってビルドするだけです。
$ mkdir build && cd build
$ cmake ../
$ make
taiHENを実行するには、別のカーネルエクスプロイトが必要です。エクスプロイトが taihen.skprx をカーネルにロードすると、taiHENが残りを処理します。詳細については、そのエクスプロイトのドキュメントを参照してください。
プラグインは、taiHENがロードされた後にカーネルへロードされるか、アプリケーションの起動時にオンデマンドでロードされます。taiHENは ux0:tai/config.txt の設定ファイルを読み取ります。
ロードするプラグインとロード順を決定する設定は ux0:tai/config.txt にあります。その形式は非常に単純で、自明です。
# ignored line starting with #
# Kernel plugins are started with taiHEN and are in this section
*KERNEL
ux0:app/MLCL00001/henkaku.skprx
ux0:path/to/another.skprx
ux0:tai/plugin3.skprx
ux0:data/tai/plugin4.skprx
ux0:data/tai/plugin5.skprx
# titleid for SceSettings
*NPXS10015
ux0:app/MLCL00001/henkaku.suprx
ux0:data/tai/some_settings_plugin.suprx
# titleid for Package Installer
*NPXS10031
ux0:path/to/some_pkg_installer_plgin.suprx
# titleid for SceShell is special (does not follow the XXXXYYYYY format)
*main
ux0:app/MLCL00001/henkaku.skprx
ux0:data/tai/shell_plgin.skprx
注意すべき主な点は次のとおりです。
# はコメントの開始、* はセクションの開始、その他の文字はパスの開始です。KERNEL は、taiHENの起動時にカーネルプラグインをロードすることを示す特別なセクション名です。他のセクション名はすべて、起動時にプラグインをロードするアプリケーション/ゲームのタイトルIDです。SceShellが特別なタイトルID main を持つことに注意してください。ux0:tai または ux0:data/tai に置くことをお勧めします。1つのプラグインを複数のセクションに含めることは有効ですが、プラグインが異なる動作をする必要がある場合、開発者はどのアプリケーションでロードされているかをプラグインが認識できるようにしなければなりません。taiHENはカーネルとユーザーの両方にAPIインターフェースを公開しています。このインターフェースは [ドキュメントページ](@ref taihen) にあります。詳細については 使用ガイド もお読みください。リリースをダウンロードするか、taiHENを自分でビルドできます。その後、プロジェクトに taihen.h をインクルードし、libtaihen_stub.a(ユーザーモジュール用)または libtaihen_kernel_stub.a(カーネルモジュール用)とリンクします。