FANDOM



PlayStation Portableの自作ソフト(プレイステーション・ポータブルのじさく−、PSP homebrew)とは、PlayStation Portable (PSP) 上で動作する自作ソフトのこと。PSPの販売、サポートの担当であるソニー・コンピュータエンタテインメント (SCE) 社がPSP上での使用を禁止しているために非正規ソフトとも言われる。禁止の根拠は利用規約に違反しているため (改造をした場合・改造によって壊れた場合に修理を受け付けない) である。このことは説明書にも書かれている。

概要 編集

PSPの初期のファームウェアには、未署名コードが実行できてしまうという致命的なセキュリティホールが存在したため、世界中の有志開発者たちにより、このセキュリティホールを衝いて実行されるSCE非公認の自作ソフトが開発され、そのセキュリティホールが修正された現在でも、少なからず様々なゲームソフトやツールなどがリリースされている。[1]

旧来までの家庭用携帯ゲーム機では外部のツールやソフトウェアに頼らず非常に安易に独自のプログラムを作動させる事ができる製品はいままで存在していなかったが、本体であるPSPの基本性能の高さとシステムの柔軟性、さらに発見されたセキュリティホールとの相乗効果と相まって、PSP本体の解析と改造が加速した。

製作されたソフトは簡素なパズルゲームに始まり、さらに高度なファミリーコンピュータスーパーファミコンPCエンジンメガドライブゲームボーイゲームボーイアドバンスNINTENDO64等のゲームエミュレーターソフト、MSXPC9801等のPCエミュレータソフト、JPEG等の画像ファイル閲覧に特化したビューア、本体内蔵のフラッシュプレイヤーの制約により直接再生・閲覧に対応していないYouTube等の動画サイトを再生できるソフト[2]、簡素ながら絵を描く事のできるペイントツールなど、多用なプログラムが動作し、更にはリッピングしたPSP専用のコピーゲームソフトを起動できるようになるなど、リリースされているソフトウェアのジャンルや用途は幅広い。また、uClinux on PSPによってLinuxが移植されており、Linux固有のAPIに依存したソフトの一部を動かすこともできる。

しかし、PSPの製造元であるSCEはこの行為を容認しておらず、定期的に行われるシステムソフトウェアのアップデートや本体を構成する基板を改良する事で、機能追加の他に、このような非正規なプログラムの実行やインストールを阻止するようなセキュリティ面での改善が施されていった。そのため、新規に製造されるPSPの全ては出荷時において最新のシステムソフトウェアがインストールされ、自作された非正規のプログラムが動作しないよう対策された状態で出荷されている。そのため、上記に記載されているような自作プログラムを動作させるためには、正規のシステムソフトウェアではなく後述する自作プログラムの動作のためにシステムを改変したPSP本体が必要となる。

このようなプログラムの実行や改変、インストールはPSPの発売元であり修理保証等を一括して担当しているSCEによって定義された使用許諾契約書[3]に違反する行為であるため、これらのプログラムを導入・使用、もしくはそれらを行った形跡のあるPSP本体はSCEによるメーカー保証および修理の対象外になるとされている。

しかし純正のファームウェアで上書きし、正規の動作を行うように戻す方法等も発見・利用されており[4]、システムを戻されてしまうと外側を見て、普通に起動した程度では本当に改造された物なのか、純正のものなのかの判別は難しい。しかし、純正のシステムソフトウェアに戻したとしてもシステムの改造履歴が残っているらしく、修理を断られたという報告も散見されている。基本的にユーザーはその本体が以前に改造されたかどうかを知る術は無く、中古品で購入する場合は注意が必要である。

また、著作権法上「プログラムの著作物」としての保護を受けている公式システムソフトウェアに対し、プログラムの改変行為やユーティリティ(外部プログラム・ツール)を用いることにより、プログラム上において本来予定されていた範囲を超えた動作をさせることは、「著作者の意に反して著作物を改変することとなり、同一性保持権の侵害となり法律に違反する行為となる」(著作権法20条)という法律的解釈を主張する者もいるが、コンピュータプログラムに関する同一性保持権の主張はその性質上難しいとされている。詳しくは同項目を参照されたし。

現在のところ個人の使用の範囲に限って(自分でPSPを改造し、自分やその身内だけで楽しむ事)法的措置をとられたという報道は無いが、改造したPSP本体をネットオークションで転売していた男が商標法違反で逮捕されたケースは存在する。これらのことから一般的にインターネット上のPSPに関しての情報を扱うコミュニティでは中古転売を含め、破損や公式の修理が出来なくなるなどのリスクについて「自作プログラムの実行やインストールは全て使用者の自己責任」とされている。

主な自作ソフト 編集

これは数多くリリースされているが、主なところを挙げると、PSP FilerやPSP Maps、Go Tubeといったソフトのほか、各種エミュレーター、ソフトのローダーなどがある。

開発環境 編集

PSPでの自作ソフト開発環境は、主にプレイステーション2の開発環境を提供していたPS2DEV.ORGによって提供されている。ほとんどのソフトウェアは、この環境で開発されたものである。

psptoolchain
PSPでの自作ソフト開発環境のtoolchainBinutilsGCCGDB、Newlib(標準Cライブラリ)、PSPSDKで構成されている。
PSP Software Development Kit (PSPSDK)
PSPのAPIを利用するためのヘッダファイルライブラリ、ツール、サンプルを含んでいるSDK

サンプルソース 編集

Hello World

以下のソースはC言語で書かれた画面にhello worldと表示するだけのプログラムである。

#include <pspkernel.h>    /* メジャーなカーネルヘッダをincludeするメインヘッダ */
#include <pspdebug.h>     /* pspDebug関係の関数を宣言しているヘッダ */
 
/* これはモジュールの宣言である。このマクロはライブラリや実行可能なソースファイルで必ず指定されなければならない */
PSP_MODULE_INFO("hello_world", PSP_MODULE_USER, 1, 1);
/* メインスレッドの属性を定義する */
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER);
 
int main(int argc ,char **argv)
{
	pspDebugScreenInit();    /* デバッグスクリーンの初期化 */
	pspDebugScreenPrintf("hello world");    /* 標準Cライブラリのprintf相当 */
	sceKernelExitGame();    /* ゲーム(このプログラム)を終了してPSPのXMBに戻る */
	return 0;
}


解説

PSP_MODULE_INFOは必ず指定されなければならない、また

PSP_MODULE_INFO ( name, attributes, major_version, minor_version)

のように 宣言されている、nameはモジュールの名前、attributesは実行モードの値で

enum PspModuleInfoAttr {

       PSP_MODULE_USER                = 0,
       PSP_MODULE_NO_STOP             = 0x0001,
       PSP_MODULE_SINGLE_LOAD         = 0x0002,
       PSP_MODULE_SINGLE_START        = 0x0004,
       PSP_MODULE_KERNEL              = 0x1000,

}; などがある。

PSP_MAIN_THREAD_ATTRの引数は

enum PspThreadAttributes {

   /** Enable VFPU access for the thread. */
   PSP_THREAD_ATTR_VFPU = 0x00004000,
  /** Start the thread in user mode (done automatically if the thread creating it is in user mode). */
  PSP_THREAD_ATTR_USER = 0x80000000,
  /** Thread is part of the USB/WLAN API. */
  PSP_THREAD_ATTR_USBWLAN = 0xa0000000,
  /** Thread is part of the VSH API. */
  PSP_THREAD_ATTR_VSH = 0xc0000000,
  /** Allow using scratchpad memory for a thread, NOT USABLE ON V1.0 */
  PSP_THREAD_ATTR_SCRATCH_SRAM = 0x00008000,
  /** Disables filling the stack with 0xFF on creation */
  PSP_THREAD_ATTR_NO_FILLSTACK = 0x00100000,
  /** Clear the stack when the thread is deleted */
  PSP_THREAD_ATTR_CLEAR_STACK = 0x00200000

}; があり上記ソースではユーザーモードで実行となる。

注意

このサンプルソースのコメント及び解説はPSPSDKのドキュメントの和訳やPSP自作ソフトプログラミング/開発wikiによる。[5]

ダウングレード 編集

初期の公式システムソフトウェア1.50には前述の通り、自作のプログラムを動作できるバグが存在していた。しかしPSPのシステムソフトウェアは最新の物が出るたびに店頭へ出荷される新品には常に最新の物が導入されており、加えて一度でもバージョンアップさせると普通の手段では以前のシステムの状態に戻す事はできず、様々な手段を用いてシステムソフトウェアのダウングレードが試みられた。また、こうしたダウングレードは後述するカスタムファームウェアの導入にも必要なプロセスの一つであった。ちなみに、バージョン毎に手順や手段が異なり、また、型番が2000と3000のPSPは1.50リリース時点で想定されていないハードウェアの為、ダウングレード作業を実施してもPSP自体が動作しない。

メモリースティックを用いたダウングレード (2.00/2.01→1.50) (2.71→1.50) (2.80→1.50) (1.50→ 1.0)
メモリースティックにダウングレード用のデータを入れて起動する事でダウングレードできた。[6][7]
GTA:LCSを用いたダウングレード (3.03→1.50) (2.50/2.60→1.50)
Grand Theft Auto : Liberty City Storiesというゲームソフトの初期ロットバージョンを用いてダウングレードする方法。2006年4月以降のバージョンでは修正されており[8]、同ソフトを用いたダウングレードは不可能になっている。
ルミネスを用いたダウングレード (3.50→1.50) (3.11→1.50)
ルミネスというゲームソフトのバグを用いてダウングレードする方法[9]。最近発売されている製品はほぼ修正されたバージョンに差し替えられているため、この方法を利用するのは現実的ではない。
6.20TNを用いたダウングレード
version.txtをダウングレードしたいバージョンより低いバージョンに偽装し、公式アップデータを起動してダウングレードする方法。後述するモジュールの制約の範囲内であれば任意のバージョンにダウングレードできる。
6.36 PROを用いたダウングレード(6.36→6.35)
6.36 PROのダウングレード機能を使い、6.35にダウングレードする方法。3000の7g以降の基盤では不可能となっている。
Chronoswitch Downgraderr v5.0を用いたダウングレード
Chronoswitch Downgrader v5.0というツールを使ってダウングレードする方法。後述するモジュールの制約の範囲内であれば任意のバージョンにダウングレードできる。
パンドラバッテリーを用いたダウングレード(最新~1.50)
詳細は後述する「カスタムファームウェア (CFW)」の項を参照。パンドラバッテリーに関する対策がされていないPSPは、システムソフトウェアに関係なく任意のバージョンにダウングレードできる。

公式ファームウェア (OFW) 編集

公式ファームウェア (Official firmware)、またはファームウェア (Firmware) とは、ソニー・コンピュータエンタテインメント (SCE) が提供しているPSPの制御を行うソフトウェアのこと。OFWOfficial FirmWare)、FWFirmWare)と略される。SCEはシステムソフトウェアと呼称しているが、自作ソフト開発のコミュニティではカスタムファームウェア (CFW) の対義語としてこう呼ばれている。公式サイトで最新のOFWが配布されているほか、フリーソフトなどを使ってUMDからOFWのアップデートデータを抽出できる。 テンプレート:Rellink

カスタムファームウェア (CFW) 編集

カスタムファームウェア (Custom firmware) とは、PSPで動作する公式ファームウェアを改造した非公式ファームウェアのことで、CFW (Custom FirmWare) と略される。

以前はDark AleXがリリースした非公式ファームウェアのみを指していた[10]が、これはDark AleXが最初にCFWの概念を示した事や過去にDark AleX以外がリリースした非公式ファームウェアが普及しなかったためである。しかし、Dark AleXによる非公式ファームウェアのリリースが5.00M33-6で途絶えて以降は、様々な開発者がDark AleXが製作した非公式ファームウェアを元にCFWをリリースしている。

基板がTA-088 v3以降のPSPでは署名のないIPLがロードできないため、LCFWLive/Light Custom FirmWare)[11]の開発も進んでいる。

機能 編集

公式ファームウェアを基本として、それに改造を行うという形をとっているため、基本的に公式ファームウェアの機能は全て利用することができる。他にも改造独特の機能もできる。現在に到るまで様々なCFWがリリースされたが、Dark AleXがリリースしたCFWが最も普及したため、彼のCFWに搭載されていた機能がCFWの標準機能となっている。

ソフトウェアのコピーおよびコピーソフトウェアの起動 編集

ISO、CSO(独自の圧縮形式)形式でリッピングされたUMDのイメージデータをメモリースティックから読み込む事で、PSPにUMDを挿入しなくてもUMDソフトを起動できる(CFW 3.51 M33以降対応。事前にCFW側でiso driverを選択しておく必要がある)。UMDからのデータのリッピングはCFWの基本機能として提供されており、容易に可能である。しかしこの方法でのリッピングは正しく吸い出すことができず、ゲームが起動中にフリーズすることがある。そのため確実にリッピングするための自作ソフトも開発されている(例:iso_toolなど)。

メモリースティックからのISO形式のゲームデータの読み込み速度はUMDから読み込むより圧倒的に速く、独自の圧縮ファイルであるCSOからの読み込みも、ISOほどではないがUMDから読み込むよりは格段に速い。さらに駆動部分が少ないため本体にかかる負荷が少なく、バッテリーの持続時間も通常より長いと言われている。しかし、データインストール機能のあるUMDが登場してからは読み込み速度については大差は無くなっている。

また、リッピング、動作方法ともに極めて容易であるが故に違法コピーが氾濫する要因にもなっている。特殊なルートを通じて入手されたソフトのコピーが発売日前やその直前後に流出し、インターネット等で公開されるという事態も珍しくなく、「本体が売れているのにソフトウェアが売れない」という異常な現象が発生している原因となっている[12][13]

なお、日本国内に限って述べれば、ゲームソフトの複製自体は、著作権法30条1項二号にある技術的保護手段を回避しない限り、個人で楽しむ範疇にある限り許されており[14]、コピーガードを回避するプログラムや機器に関しても、「販売や他者に譲渡してはならない」だけであり[15]、それを入手したり利用すること自体は違法性が無く、罪を問えない場合が多いのが現状である。ただし、これらは新品、中古品問わずに正規にソフトウェアを購入し、かつそれを自身の手でコピーした場合に限られている。市販されている公認された正規のソフトウェアについては、PlayStation Store以外ではダウンロードできないため、インターネット上等でダウンロードした物に関しては該当するソフトウェアはすべて違法公開されているとみなすことができ、2010年から施行されたダウンロード違法化によってダウンロードすることが違法行為となり、2012年の再修正によりダウンロードしただけで刑事告訴の対象となる。また、2012年から施行された技術的保護手段の適用範囲の拡大により、新品、中古品問わずに正規にソフトウェアを購入した場合でも著作権法30条の私的使用を目的とする複製の対象外にであるため違法となる可能性も指摘されている。

iso driver 編集

CFWでUMDからリッピングしたISO、CSO形式のゲームデータをメモリースティックから起動するには、UMDドライブにUMDを入れておくか、iso driverと呼ばれるものをVSHメニューから選んでおく必要がある。

Sony NP9660 Driver
SCE公式のもの。
OE Driver
OE系、M33系、GEN系に搭載されている。
M33 Driver
M33系など、殆どのCFWに搭載されている。
ME Driver
Custom系、ME系に搭載されている。M33 Driverを解析し、独自に開発。
Inferno Driver
M33 Driverにあったバグを修正し、ゲームの互換性・読み込み速度を向上した。
GODriver
GOD系のLCFWに実装されているが、独自開発かは不明。Inferno Driverのリネーム版という噂もある。

自作ソフトの実行・エミュレータ 編集

Homebrew Enablerと呼ばれる、最新のファームウェアで自作ソフトの実行を可能にするプログラムが組み込まれている。具体的な例は様々なゲームエミュレータなどが挙げられる。当初はFW1.50で実行出来る自作ソフトがリリースされていた。これはFW1.50では未署名コードが実行でき、自由度の高い開発が可能だったことと、PSP-1000ではCFWでFW1.50の環境を構築できたためである。しかしPSP-2000以降ではFW1.50の環境が構築できなくなった。このため、最新のFWに対応した自作ソフトの開発が進んだ。

リカバリーモード 編集

Rボタンを押しながらPSPを起動するとリカバリーモードで起動し、CFWの設定の変更、後述するプラグインの有効・無効の切り替えなどができる。また、改造などにより正式なメニューであるクロスメディアバー (XMB) が起動しなくなった場合の簡易的な回復メニューとしての役割も持つ。M33系で搭載された機能で、今ではCFWの標準機能となっている。なお、LCFWの一部の物ではXMBでセレクトを押す事により、リカバリーモードを起動する事が出来る。

プラグイン 編集

PSPのGUIであるクロスメディアバーの拡張や、ゲームにスクリーンショット、チートなどの機能を追加することができる。開発環境が整っているため、多くの開発者によってプラグインが公開されている。

CFWの導入 編集

PSPの旧型(1000番系)と中期型(2000番系)では導入方法が若干異なる場合があるが、大抵は以下の物が準備されていないと導入することは出来ない。システムソフトウェアのバージョンが2.80以下の場合で無い限り、PSP本体だけではCFWを導入することは不可能である。

また、1000番系のうちUMDスロットの裏から確認できる基板に刻印されているナンバーが"TA-082"の場合、CFW等の導入時に不具合が起こるため、更なる改変が必要となる。そのほか、2000番系は2008年7月中旬以降に出荷された外箱シールのシリアルナンバーの頭に記載されている文字が「G」となっている物については、CPUの改良によって物理的に対策処理が施されており、CFWを導入できない[16]。加えて、後期型(3000番系)では、2000番系の基板よりも強固な対策が行われている。

対策基盤のPSPでは後述するHENを利用してLCFWを導入することでCFWと同等の機能を使用できる。ただし、電源を切るとOFWに戻る。

パンドラバッテリー 編集

SCE純正の電池パックには回路が組み込まれており、この回路をシステム的に改変することで、システムの深部を強制的に変更できる「サービスモード」を起動させる事ができるキーとなる。前述の通り、通常純正のシステムソフトウェアはダウングレードが不可能であるが、サービスモードを利用することで、ダウングレード、カスタムファームウェアの導入が可能である。

未対策基盤のPSPでは、HENを利用することでパンドラバッテリーが無くともCFWの導入が可能になった。

なお、パンドラバッテリー (Pandora`s Battery) とはジグキックバッテリー (JigKick Battery) とマジックメモリースティック (Magic Memory Stick) の二つセットでの呼び名である。しかし、サービスモードを起動させるためのバッテリー単体で「パンドラバッテリー」と誤用されているケースの方が圧倒的に多い傾向にあるため、「パンドラバッテリー=ジグキックバッテリー」で意味が通じる場合が大半である(日本国内に限っての話ではあるが)。また、ジグキックバッテリーは「ツールバッテリー」「サービスモードバッテリー」等と呼ばれることもあるが、いずれも基本的な動作原理などは同一である。

ちなみにパンドラバッテリーを用いる事で、システムソフトウェアのアップデートやカスタムファームウェアの導入ミス、後述するPSP用のコンピュータウイルスに感染した場合などのソフトウェア的な故障に関して、内部のシステムを完全に書き換える事でユーザーが自分で修理する事が可能である。ただし、このケースの場合アフターサービス規定の「不当な修理」に該当するため、以後の公式修理は望めなくなることに注意すべきである。

ジグキックバッテリー (JigKick Battery)
サービスモードを起動できるバッテリーのこと。FW 1.50かCFWが導入されているPSPを使ってネット上などで配布されているジグキックバッテリー作成ソフトウェアを動作させ、純正バッテリーのシステムを変更することでジグキックバッテリー化できる。
通常ジグキックバッテリーは、最初期のPSPかカスタムファームウェアが搭載されたPSP上でしか製作できないが、1000番系バッテリーパックの外装をこじ開けて内部の制御基板を改変する事で、物理的にジグキックバッテリー化させる事も可能である[17]が、PSPに採用されているリチウムイオン二次電池のバッテリー・セルは作動電圧に非常にシビアという特性を持ち、あくまで普通に使う分に関してはまったく安全な物であるが、電気的知識と経験を持たずに制御基板に下手に弄ると、最悪バッテリー・セルが爆発するため大変危険である。状況にもよるが破壊力は相当に高く、大きな火柱を上げたり爆風で手足を損壊する可能性もあるため、安全な場所が確保できない限り、安易に挑戦しない方が良い。ファームウェアによって異なる可能性があるが、上記の物理的にではなく、システム的にジグキックバッテリー化させた物は、その後再び通常のバッテリーに戻す事ができる。
なお、純正バッテリーには内部構造の改訂版があり、最近流通しているバッテリーでは物理変更やシステム改変によるジグキック化ができなくなっている製品もあるという報告がいくつかされている。
CFWを導入したり、ダウングレードするために必要なジグキックバッテリーを作るのにはCFWかFW 1.50のPSPを所有していなければならないという矛盾した性質上、ジグキックバッテリーは入手が困難であったが、最近ではサードパーティにより生産/販売されており(純正バッテリーを改造したものではなく、初めからジグキックバッテリーとして使うことを前提に生産されたものである)、入手は比較的安易になった。それ以前は純正バッテリーを改造した違法品(理論上は著作権法商標法違反である)があまり目立たない場所やサイト、ネットオークションを中心に販売されていたが、一から作られた製品に関してはあくまで非公式の周辺機器という扱いになるため、最近ではAmazon.com楽天等の一般的なネット通販サイトやYahoo!オークションでも堂々と販売されるようになっている。
マジックメモリースティック (Magic Memory Stick)
メモリースティックの特定領域にPSPの起動コードを書き込んだメモリースティックのこと。ジグキックバッテリーによってサービスモードが起動されたPSPは自動的にマジックメモリースティック上の起動コードを読み込み、内蔵ファームウェア以外のソフトウェアを起動する為、この起動コードにシステム改変用のソフトウェアを組み込むことで、カスタムファームウェアの導入が可能となる。
マジックメモリースティックの内部設定は一般的なメモリースティックとは異なり特殊な状態になっているため、単純にファイルをコンピュータ上からコピーするだけでは作成できない。何らかの専用ソフトか、特殊な手順を踏む必要がある。また、現状ではマジックメモリースティックを作成するソフトウェアはWindows用とPSP用だけが公開されており、MacintoshLinux用ソフトウェアは公開されていない。
マジックメモリースティックの作成には旧OFWのアップデートプログラムが必要で、一部サイトでこの内部データを含めたデータを配布している場合があるが、ソニーで公式に配布されているシステムソフトウェアは常に最新のものだけであり、これは著作者の意図に反しての二次配布であることが大半のため、著作権法違反に該当する。
なお、マジックメモリースティックの起動にはメモリースティックの個体差などによる若干の相性問題がある為注意が必要である。

主要なCFW、LCFWの開発者 編集

Dark Alex(Team M33)
M33系を開発し、現在のCFWの基礎を創った人物。愛称はDAX。本名は、Alejandroでスペイン人学生[18]。最初はDark Alexの名で活動していたが、SCEからの圧力と、家族からの冷たい視線から逃れるためにTeam M33を結成。何度も引退宣言をしつつ、活動を継続していたが、2009年に諸事情により解散となった。
BOOSTER
DeviceHookの開発者。日本人。DeviceHookの現行仕様の開発終了を宣言しているが、パンドラバッテリーの開発に参加しており、開発活動の明確な引退宣言は行っていない[19]
Team GEN
フランスのハッカーチーム。GEN系を開発。Miriamが主導となって開発をしていたが、5.50GEN-AよりGENyUSが開発を引き継いでいる。
liquidzigong
Prometheus系の開発者。中国人。GEN系、M33系にPrometheusモジュールを追加し、5.xx系のCFWでFW6.XXを要求するゲームの起動を可能にした。諸事情により、名前を変えて活動している。
neur0n
Custom系、ME系の開発者。日本人。
Virtuous Flame、Coldbird
PRO系の開発者。Virtuous Flameは中国人の学生[20]
Team PRO
B6よりオープンソース化されたPRO系の開発チーム。Virtuous Flame、Coldbirdの他、neur0nも参加している。

主要なCFW、LCFW 編集

  • 公開日は日本時間。
系統開発者種別最新版最新版
公開日
解説
1.50POCDark AlexCFW1.50 POC2006年7月15日FW 1.50を改造し、FW 1.00向けに開発された自作ソフトの起動等、公式FWに機能を追加した初のCFW。
正式名称は「1.50 Proof of Concept」。
2.71SE系2.71 SE-C2006年11月26日FW 1.50と2.71のモジュールを組み合わせることにより、FW 2.71までのゲームソフトと1.50向けに開発された自作ソフトの起動を両立できるようにしたもの。
正式名称は「Special Edition」。
OE系3.40 OE-A2007年4月21日2.71SE系を元に最新のFWに対応した上、様々な機能が追加されていたが、Dark Alexの引退宣言と共に開発は終了した。
正式名称は「Open Edition」。
M33系Team M33
(Dark Alex)
5.00 M33-62009年1月21日Dark Alexが作成。多くのプラグインがこのCFW向けに開発されていたため、開発が途絶えて以降も好んで使われている。現在公開されている殆どのCFWはこのM33系を改良したものである。
GEN系Team GEN5.50 GEN-D3 final2009年12月17日M33系を元に開発。幾度の改良により2009年12月15日以前に発売されたゲームソフトの起動に対応、新たな機能が複数追加された。
LCFW5.03 GEN-C2009年12月16日
Prometheus系liquidzigongCFW5.50 Prometheus-4
5.00 Prometheus-4
2010年12月3日GEN系、M33系にPrometheusモジュールを組み込んだもので、5.xx系で起動できなかったゲームソフトの起動に対応している。
Prometheus-4開発中にliquidzigongが引退宣言をしたため、正式に公開されたのはPrometheus-3 v4が最後。Prometheus-4はテスターによって流出した。
LCFW5.03 Prometheus-4
Custom系neur0nCFW6.35 Custom beta v212011年4月19日M33系を元に開発。CFW版にはHOMEボタンを押しながら電源を入れるとOFWで起動するデュアルブート機能が搭載されている。6.38 MEよりPSP-1000対応、6.39 ME-2よりLCFW版も開発、6.39 ME-8 for PSPgo beta(7月20日)でPSP goに対応。
ME系の正式名称は「Minimum Edition」。
ME系6.60 ME-1.82012年4月9日
LCFW6.60 LME-1.8
PRO系Team PRO6.60 PRO-B10
6.39 PRO-B10
6.35 PRO-B10
6.20 PRO-B10
2011年8月25日M33ドライバーの不具合を修正したInfernoドライバーを備える。B6よりソースコードが公開されており、テスト版であるNightly Buildsが日本時間午前8時に毎日公開されている。

Time Machine 編集

Time Machine(タイムマシーン)はDark Alexが開発した、Pandora's Batteryを使って様々なPSPのファームウェアをブートできるようにするソフトウェアである。ウイルスなどによって起動不能になったPSPを起動したり、PSP-2000上で擬似的なシステムソフトウェア バージョン1.50が動作するなどの特徴がある。Time Machine v0.1でサポートされているファームウェアのバージョンは1.50(PSP-1000のみ)、1.50と3.40のミックス、3.40 OE(PSP-1000のみ)、3.60 M33(PSP-2000のみ)である。また、Time Machineではない別のツールを使って、4.01 M33、5.00 M33をメモリースティックから起動することもできる。

Homebrew Enabler (HEN) 編集

テンプレート:節stub Homebrew Enablerとは、PSPの脆弱性を利用して自作ソフトを起動できるようにするメモリー駐留型のツールである。CFWにあるようなUMDバックアップ起動や外部モジュール読み込み機能は基本的に無い。電源を切ってしまうと元の状態に戻ってしまうが、起動可能な自作アプリの数はCFWとほぼ同等である。

3.03HEN
PSP版「Grand Theft Auto Liberty City Stories」(GTA LCS) のバグとOFW3.03が持っているセキュリティの脆弱性と合わせて利用する事で、HENを起動することができる。作成者はNoobz。
ダウングレーダーと組み合わせることにより、FW1.50にダウングレードすることができる。
3.50HEN
「ルミネス」のバグとOFW3.50が持っているセキュリティの脆弱性と合わせて利用する事で、HENを起動することができる。作成者はNoobz。
Dark_Alexの作成したダウングレーダーと組み合わせることにより、FW1.50にダウングレードすることができる。
5.03ChickHEN
libtiffのexploitとFW5.03の脆弱性を利用して起動する。作成者はTeamTyphoonのDavee。最新版はChickHEN R2。
最牛hen、FAT、Modなどの派生系がある。
6.20TN (HEN)
海外版パタポン2体験版の脆弱性(HBL経由)とOFW6.20にある脆弱性を利用して起動する。作成者はTotal_Noob & HacKmaN。
PSPの署名が解析されたことにより、現在ではXMBから直接起動が可能。最新版は6.20 TN-E。
HENながら、独自のVSH Menuやプラグイン読み込み機能などが搭載されている。
6.31/6.35PRO
みんなのスッキリの体験版の脆弱性(HBL)とOFW6.31、6.35にある脆弱性(6.20TNと同一)を利用して起動する。作成者はVirtuous Flame & Coldbird。 
6.36 PRO(HEN) Alpha
みんなのスッキリの体験版の脆弱性(HBL)をとOFW6.36にある脆弱性(6.20TNと同一)を利用して起動する。作成者はVirtuous Flame。
製作者曰くOFW6.35にダウングレードするために作られたものであり、他のHENと比べると機能がかなり削られている。
また、6.31/6.35PROとは違いVirtuous Flame単独での製作で、Coldbirdはテストをしていない[21]

eLoader 編集

eLoader v0.995
FW2.01以下に存在するTIFFの脆弱性を利用して起動する。システムバージョンにパッチすることによって、FW1.50にダウングレードすることが可能である。
Half Byte Loader
「HBL」と略される。ゲームの脆弱性を利用して自作ソフトを起動できるようにするもので、全ての自作ソフトが起動できるわけではないが、自作ソフト製作者側がHBLに対応したものを公開し始めており、起動できる自作ソフトは増えてきている。
公開時はパタポン2体験版のセーブデータの脆弱性を利用していた(6.20以下のみ)が、後にみんなのGOLFポータブル1&2やみんなのスッキリ体験版で発見された脆弱性にも対応(FW6.36以下のみ)、自作ソフトの署名が可能になってからはHBLも署名され、FW6.37以下のGoを含む全てのPSPで自作ソフトを起動できるようになった。

SCEの姿勢 編集

概要にあるように、SCEから配信されているもの以外のプログラムを使用し、PSPのシステムソフトウェアを不正に書き換えることはシステムソフトウェア使用許諾契約に違反する。また、それを野放しにしておくのは違法コピー増加などの原因ともなるため、SCEとしても幾度か対策が行われている。しかし、起動用の署名が特定されてしまったため、6.38以降では対策はされていない(署名に関する対策をすると、過去の公式アプリが起動できなくなるため)。

システムソフトウェア 編集

Pandora's Batteryが発表されるまでは不正なプログラムを使用することにより、システムが書き換え可能な脆弱性は主にシステムソフトウェアによって対策されてきた。

バージョン1.51
自作ソフトが実行できる脆弱性が修正されている。
バージョン2.01
TIFFの脆弱性が修正されている。
バージョン2.81
TIFFの脆弱性が修正されている。
バージョン3.51
『ルミネス』の脆弱性が修正されている。
バージョン5.50
TIFFの脆弱性が修正されている。
バージョン6.00
『Medal of Honor Heroes』の脆弱性が修正されている。
バージョン6.10
GameDecrypterの対策?
バージョン6.20
『Mercury』(日本語版では「ハイドリウム」)の脆弱性が修正されている。
バージョン6.30
『パタポン2』体験版の脆弱性が修正されている。
バージョン6.35
『みんなのGOLF1&2』の脆弱性が修正されている。
バージョン6.36
『モンスターハンターポータブル 3rd』のUMDにのみ収録されていたFW。新たな暗号化方式が追加されている。
バージョン6.37
『みんなのスッキリ』の脆弱性が修正されている。
バージョン6.60
バージョン6.39に存在した脆弱性が修正されている。

基板 編集

機種 基板 JigKick Battery作成 CFW導入
PSP-1000 TA-079
TA-081
TA-082
TA-086
PSP-2000 TA-085 v1
TA-085 v2 不可
TA-088 v1
TA-088 v2
TA-088 v3 不可
TA-090 v1
PSP-3000 TA-090 v2
TA-090 v3
TA-093
PSP-N1000 TA-091
TA-094

基板の名称はPSPを分解したときに見られる刻印からそう呼ばれる。自作ソフト対策のために基板が変更されることもあるが、コストの削減もかねている場合がある。

PSP-1000シリーズ 編集

TA-079
PSP-1000シリーズの最初の基板。一定の手順をふむことにより不具合なくすべてのバージョンにダウングレード可能な基板。

  ほかにTA-079v2・TA-079v3がある可能性がある。

TA-080
TA-079同様一定の手順をふむことにより不具合なくすべてのバージョンにダウングレード可能な基板。
TA-081
TA-080同様一定の手順をふむことにより不具合なくすべてのバージョンにダウングレード可能な基板。
TA-082
FW1.50が動作不可になっている。IdStorageと呼ばれる本体の特殊な領域を書き換えることにより動作可能なことが判明した。
TA-086
PSP-1000シリーズの最新の基板。恐らくPSP-1000シリーズ最後の基板だと思われる。TA-082のような操作で1.50が動作するが、輝度調整に問題が発生する。

PSP-2000シリーズ 編集

TA-085 v1
PSP-2000シリーズの最初の基板。PSP-2000はパンドラバッテリーの発表後に発売されたため、対策基板である可能性があったが、実際はパンドラバッテリーに対する対策はほぼ何もされていない。
TA-085 v2
バッテリーのシリアルを書き換えることができなくなり、ジグキックバッテリーの作成ができなくなった。
TA-088 v1
TA-085 v2と特に変更点が見られないためTA-085 v3とも呼ばれる。
TA-088 v2
以前の手法でジグキックバッテリーが使えないようになっているが、新たな手法を用いることにより動作する。
TA-088 v3
初めて本格的にパンドラ対策がされた基板。2008年7月中旬以降のPSP-2000(外箱のシリアルナンバーの冒頭の文字が「G」以降で、購入時に導入されていたFW4.01以降の物)に導入されており、署名のないIPLをロードできる脆弱性が修正されている。この脆弱性を利用してCFWをブートしていたため、CFWを導入することはできない。しかし、2009年5月に公開されたCFWEnabler 1.0 for ChickHENにより、ISOの起動に成功している。
TA-090 v1
TA-088 v3に次いで、2008年9月に海外のみでPSP-3000のテスト基盤として少量出回ったとされる基板。TA-088 v3で施されていた対策がされておらず、パンドラバッテリーも対策されていない。CFWを導入することができるとされているが、この基板については様々な説がネット上で流れ、詳細は確認できていない。(たまたま海外の修理業者が見つけたらしい。)[22]

PSP-3000シリーズ 編集

TA-090 v2
PSP-3000シリーズの最初の基板。TA-088 v3基板の対策に加え、バッテリー読取部にも対策が施され、マジックメモリースティックだけでなくジグキックバッテリー自体が機能せず、パンドラバッテリーは完全に対策された。2010年1月現在この基板へのCFWの導入は不可能である。しかし、2009年6月5日に公開されたLCFW 5.03GEN-A for HENにより、CFW導入時と同程度の機能を使用することができるようになった。以降、LCFWの開発が進む。
TA-090 v3
TA-090 v2基板に続く基板。前基板の対策に加え、その後登場したChickHENへの対策がされているといわれているが詳細は不明(ChickHENへの対策ならシステムソフトウェアの更新で対応することができるため)。
TA-092
TA-090に続く基板。コスト削減とセキュリティ対策の強化が行われている。
TA-093
TA-092に続く基板。コスト削減とセキュリティ対策の強化が行われている。TA-093の後期からUMDドライブの開閉スイッチが省略され、この部分がジャンパーされているものが存在する。
TA-095
TA-093に続く基板。コスト削減とセキュリティ対策の強化が行われている

PSP-N1000 (PSP go) シリーズ 編集

TA-091
PSP go (PSP-N1000) に搭載されている基版。バッテリーが基板に固定されており、分解しない限り取り外せない。また、バッテリーの形状が変更されている。
TA-094
2010年9月より生産された基板。

モジュール 編集

PSPは生産された時期などにより内部で使用されるモジュールが異なる。古いシステムソフトウェアには新しいモジュールが入っていないため、このモジュールによってどこまでダウングレード出来るかが決まることになる。

モジュール機種初期FWダウングレードできるFWの下限
01gPSP-1000FW1.00FW1.50
02gPSP-2000FW3.60FW3.70
PSP-2000 TA-088 v3FW4.01FW4.00
03gPSP-3000FW4.20FW5.00
04gFW5.70FW6.00
05gPSP-N1000FW5.70FW6.10
07gPSP-3000FW6.30
09gFW6.35FW6.30(Chronoswitch Downgrader v5.0使用時はFW6.20)
11gPSP-E1000FW6.50FW6.60

カスタムファームウェアの歴史 編集

  • 2004年
  • 2005年
  • 2006年
  • 2007年
  • 2008年
  • 2009年
    • 1月1日 - 5.02 GEN-A 公開。
    • 1月6日 - PSP-3000上での自作ソフトの起動に成功。
    • 1月21日 - 5.00 M33-5、5.00 M33-6 公開。
    • 1月22日 - 5.03 TDP-1 公開。
    • 4月9日 - 5.03 TDP-3 公開。
    • 4月11日 - 5.03にてHello,Worldの表示に成功。
    • 4月19日 - 5.03 TDP-4 公開。
    • 5月5日 - 5.03 ChickHEN 公開。
    • 5月25日 - CFWEnabler 1.0 for ChickHEN 公開(TA-088 v3上でのISO起動成功)
    • 6月5日 - Custom Firmware 5.03 GEN-A for HEN 公開(TA-090 v2 (PSP-3000) 上でのISO起動成功)
    • 6月13日 - 5.50 GEN-A 公開。5.50 GEN-A導入済みPSP-2000でPlayStation Storeにアクセスできない不具合を解消するパッチ 5.50 GEN-A bulid4 公開。
    • 6月30日 - PlayStation Storeのアップデートにより、5.50 GEN-A以下のバージョンでアクセスできなくなった。
    • 7月2日 - 5.50 GEN-B 公開。
    • 7月14日 - 5.50 MHU 公開。
    • 9月4日 - 5.50 TDJ-2 公開。
    • 9月6日 - 5.50 GEN-B2 公開。
    • 10月2日 - PSP go上でHello,Worldの表示に成功。
    • 10月19日 - 5.50 GEN-C 公開。
    • 10月22日 - 5.50 GEN-D 公開。
    • 10月24日 - 5.50 GEN-D2 公開。
    • 11月1日 - PSP-goが日本で発売。
    • 11月2日 - 5.03 GEN-B for HEN 公開(オリジナルのままFW5.55 FW6.10を要求するゲームの起動に成功)
    • 12月16日 - 5.03 GEN-C、5.50 GEN-D3 公開。
    • 12月17日 - 5.50 GEN-D3 final 公開。
  • 2010年
    • 6月19日 - 5.03 Prometheus 公開。
    • 6月21日 - 5.50 Prometheus 公開。
    • 7月19日 - 5.00 M33-7 (Original Recovery)(以前、Dark_Alexのフォーラムに投稿されていた物)再公開。
    • 9月4日 - 5.03 Prometheus-2、5.50 Prometheus-2 公開。
    • 9月8日 - 5.00 Prometheus-2 公開。(5.00 M33-6のFW6.30対応版)
    • 11月4日 - 5.50 Prometheus-3、5.03 Prometheus-3、5.50 Prometheus-3 v2、5.03 Prometheus-3 v2、5.00 Prometheus-3 公開。
    • 11月6日 - 5.03 Prometheus-3 v3、5.00 Prometheus-3 v3、5.50 Prometheus-3 v3 公開。
    • 11月11日 - 5.50 Prometheus-3 v4 公開
    • 12月3日 - 5.50 Prometheus-4、5.03 Prometheus-4、5.00 Prometheus-4 公開。(関係者配布の試作品が流出したもの)
    • 12月24日 - 6.20 TN-A (HEN) 公開。
    • 12月25日 - Prometheus Iso Loader公開。(6.20 TN-Aのみ動作、PSP-go上でのISO起動成功)
    • 12月31日 - 6.20 TN-B (HEN) 公開。 
  •  2011年
    • 1月4日 - 6.31 PRO (HEN)、6.35 PRO (HEN) 公開。(FW6.36以外のFWでHENが導入可能)
    • 1月7日 - 6.36 PRO(HEN) 公開。(FW6.35にダウングレード可能)
    • 1月14日 - 6.35 Custom 公開。
    • 1月16日 - 6.35 Custom v3-fix 公開。(PSP-2000未対策基盤のみ)
    • 1月17日 - PrxEncrypter(自作ソフトに署名するツール)公開。FWで(user modeの)自作ソフトの起動が可能に。
    • 1月18日 - 6.20 Custom v4 公開。(PSP-2000未対策基盤のみ)
    • 1月23日 - 6.20 TN-C (HEN) 公開。
    • 1月25日 - 6.35 Custom v5 (PSP-2000未対策基盤のみ)、6.35 and 6.31 Downgrader 公開。(09gのPSP-3000を除くFW6.35以下の全てのPSPがFW6.20にダウングレード可能)
    • 1月28日 - 6.35 Custom v6 公開。(PSP-2000未対策基盤のみ)
    • 2月1日 - 6.35 Custom v6-fix 公開。(PSP-2000未対策基盤のみ)
    • 2月3日 - 6.35 Custom v7 公開。(PSP-2000未対策基盤のみ)
    • 2月4日 - 6.35 Custom v8 公開。(PSP-2000未対策基盤のみ)
    • 2月7日 - 6.35 Custom v9 (PSP-2000未対策基盤のみ)、6.35 PRO-A 公開。
    • 2月8日 - 6.35 Custom v9-fix 公開。(PSP-2000未対策基盤のみ)
    • 2月10日 - 6.35 Custom v10 (PSP-2000未対策基盤のみ)、6.35 PRO-A1 公開。
    • 2月12日 - 6.35 PRO-A2、6.35 Custom v11 (PSP-2000未対策基盤のみ)公開。
    • 2月14日 - 6.35 PRO-A3、6.35 Custom v12 (PSP-2000未対策基盤のみ)公開。
    • 2月19日 - 6.37 ME (PSP-2000未対策基盤のみ)公開。
    • 2月20日 - 6.37 ME-2 (PSP-2000未対策基盤のみ)、6.35 Custom v13 (PSP-2000未対策基盤のみ)、6.35 PRO-A4 公開。
    • 2月22日 - 6.35 Custom v14 (PSP-2000未対策基盤のみ)、6.37 ME-3 (PSP-2000未対策基盤のみ) 公開。
    • 2月25日 - 6.35 PRO-B1 公開。
    • 3月3日 - 6.35 Custom v15 (PSP-2000未対策基盤のみ)、6.37 ME-4 (PSP-2000未対策基盤のみ) 公開。
    • 3月5日 - 6.35 PRO-B2、6.20 TN-D (HEN)、6.37 ME-5 (PSP-2000未対策基盤のみ)、6.35 Custom v16 (PSP-2000未対策基盤のみ) 公開。
    • 3月6日 - 6.20 TN-D (HEN) TiltFX fix 公開。
    • 3月9日 - 6.37 ME-6 (PSP-2000未対策基盤のみ)、6.35 Custom v17 (PSP-2000未対策基盤のみ) 公開。
    • 3月10日 - 6.37 ME-6 Fix1・Fix2 (PSP-2000未対策基盤のみ)、6.35 Custom v17 Fix1・Fix2 (PSP-2000未対策基盤のみ) 公開。
    • 4月10日 - 6.35 PRO-B4、6.20 PRO-B4 公開。
    • 4月13日 - 6.38 ME (PSP-2000未対策基盤のみ)公開。
    • 4月15日 - 6.38 ME (PSP-1000対応版)公開。
    • 4月18日 - 6.20 TN-E (HEN) 公開。
    • 4月19日 - 6.20 TN-E Fix (HEN) 、6.38 ME-2 公開。
    • 4月21日 - 6.35 PRO-B5(Fix1・Fix2・Fix3)、6.20 PRO-B5(Fix1・Fix2・Fix3)公開。
    • 5月8日 - 6.38 ME-3 公開。
    • 5月25日 - 6.39/6.38 Downgrader v3.1(FW6.38/6.39からFW6.20/6.35にダウングレード可能)、6.39 ME 公開。
    • 5月26日 - 6.39 ME-2 公開。
    • 5月28日 - 6.39 ME-2 hitobasira v6(LCFW)公開。
    • 5月29日 - 6.39 ME-2 hitobasira v7、v8、正式版(LCFW)、6.39 PRO-B6、6.35 PRO-B6、6.20 PRO-B6 公開。
    • 5月30日 - 6.39 PRO-B6 Fix、6.35 PRO-B6 Fix、6.20 PRO-B6 Fix、6.39 ME-3 公開。
    • 7月7日 - 6.39 ME-8、6.39 LME-8、6.39 PRO-B8、6.35 PRO-B8、6.20 PRO-B8 公開。
    • 7月22日 - 6.39 PRO-B9 BETA、6.35 PRO-B9 BETA、6.20 PRO-B9 BETA 公開。
    • 8月8日 - 6.39 ME-9.2、6.39 LME-9.2 公開。
    • 8月14日 - 6.60 ME 公開。
    • 8月18日 - 6.60ME-1.1、6.39 ME-9.3、6.39 LME-9.3 公開。
    • 8月24日 - 6.39 ME-9.4、6.39 LME-9.4 公開。
    • 8月25日 - 6.60ME-1.2、6.60 PRO-B9、6.39 PRO-B9、6.35 PRO-B9、6.20 PRO-B9 公開。
    • 9月1日 - 6.60 ME-1.3、6.60 LME-1.3 公開。
    • 9月15日 - 6.60 ME-1.4、6.60 LME-1.4、6.39 ME-9.5、6.39 LME-9.5 公開。
    • 10月7日 - 6.60 ME-1.5、6.60 LME-1.5 公開。
    • 10月8日 - 6.39 ME-9.6、6.39 LME-9.6 公開。
    • 10月15日 - 6.60 ME-1.6、6.60 LME-1.6、6.39 ME-9.7、6.39 LME-9.7 公開。
    • 10月27日 - 6.60/6.39/6.35/6.20 PRO-10 公開。
    • 10月30日 - 6.60/6.39/6.35/6.20 PRO-10 公開。

トロイの木馬 編集

自作ソフトが実行できるということは、当然悪意を持った者がPSPを起動不能にするコードを紛れ込ませる可能性がある。そして、実際にPSPを標的としたトロイの木馬が確認されているが、2009年現在のところ、1種類しか確認されていない。

Trojan.PSPBrick
Trojan.PSPBrickは、PSP上でユーザーが作成したプログラムを実行可能にする「ハックツール」であると偽ったプログラム。実際には、このプログラムをPSPにインストールすると、PSPの動作に必要な4つのファイルが削除され、PSPが起動しなくなってしまう。
起動不可となったPSPは俗称"brick"(レンガ)と呼ばれ、分解・交換部品取り用などとして一時期オークション等で多数安売りにされていた。ただし、前述のパンドラバッテリーの登場により、brick状態からの復活が可能となった。

脚注 編集

[ヘルプ]
  1. QJ.net等ではPSP用の個人作成ソフトウェアが多数リリースされている。
  2. にゃんとかちゅ~ぶ現状では直接PSP内蔵のウェブブラウザで再生できないYouTubeやその他動画サイトの再生を可能としている。リンク先は現在閲覧不可。
  3. PSPの使用許諾契約書 SCEI.co.jp
  4. PSP Nand バックアップ ※カスタムファームウェアで変更された内容は変更前の「nand」を上書きしたり、正規システムソフトウェアで上書きしてしまうと、ほぼの正規の状態に戻ってしまう。
  5. pspsdk-1.0+beta2 Documentation
  6. 2.00→1.50 ダウングレード (eloader) ~PSP究極活用
  7. 2.80→1.50 ダウングレード (TA-079~TA-081) ~PSP究極活用
  8. 3.03→1.50 ダウングレード (GTA) ~PSP究極活用
  9. 3.50→1.50ダウングレード (N00bz) ~PSP究極活用
  10. かつて家庭用据え置きゲーム機が全て「ファミコン」と呼ばれていたのと同じこと。
  11. 名前はWololoによって提唱された。[1]
  12. 「PSPの違法行為はもう許さん!(本体が売れても)」~ Game Spark
  13. IT-PLUS PSP好調を蝕む「パンドラバッテリー」の猛威
  14. 著作権法 複製権~「私的使用を目的とする複製(私的使用)は許諾を得ないで行うことができます(著作権法30条)。」
  15. 不正防止競争法 第二条十 最終改正:平成一八年六月七日法律第五五号の時点
  16. TA-088基板CFW対策CPUが登場?Vol.8
  17. バッテリー分解でジグキックバッテリーにする方法
  18. BBCのインタビュー
  19. DevHook総合 その2
  20. Coldbird and VF, The Big Interview, Part 1 · Wololo.net
  21. Coldbird and VF, The Big Interview, Part 1 · Wololo.net
  22. PSPにCFW導入可能な新基板登場~TA-090基板~(2008年12月27日時点のアーカイブ
  23. Saturn Expedition Committee

関連項目 編集

外部リンク 編集