PSPで自作プログラム・・・ってかエミュレータを動作させるのには
絶対守るべき条件があります。
ここではその条件と、ちょっとしたツールの使い方の紹介をします。
PSPでゲームをするには、普通「UMD」と呼ばれる専用の小型ディスクに収められたゲームしか起動しません。ところが何処の誰が見つけたのか、メモリースティック(「MS」と略される事も多いですね)に入っている自作プログラム(ゲームなど)を起動させる方法が発見されました。
ここではその起動方法などを紹介していくワケなんですが、その前に「絶対必要な条件」があります。PSPのシステムバージョンが「1.00」もしくは「1.50」のPSPでしか、自作プログラムの起動は出来ません。
もし手持ちのPSPのシステムバージョンが1.51、もしくは1.52以上の人、残念ながら現時点(2005年6月末)での起動方法はありません。又、手持ちのPSPが上記バージョンの方、間違ってもシステムのバージョンアップはしないように。とは言うものの、最近のUDMゲームは「バージョン1.50以上でないと起動しない」という物が増えてきています。だから「1.00を1.50にバージョンアップ」はアリかもしれませんが、いろいろ考えると1.00のままの方が便利な事もあります。まぁそのあたりは以下を読んで、自分の環境に合わせて判断して下さい。
1.00と1.50の「本体としての違い」はいろいろありますが、1.50の方が「レジューム(状態を保存したまま電源を落とす)処理が速い」のと「動画を連続再生した際、設定を引き継いでくれる」という2点が大きな違いですかね。まぁ細かい事は各自調べて下さい(苦笑)。
と言う事で、本体としては「1.50の方が使い勝手が上がった」ワケなんですが、自作プログラムの起動に関して言えば「1.00の方が使い勝手が良い」です。
と言うのも、1.50ではセキュリティが強化され、基本的にはどんなプログラムも「暗号化されたプログラム」しか起動しない仕組みになってるんです。「セキュリティの強化」と言えば聞こえは良いですが、その暗号って言うのが「数学者がアルゴリズムを作って、ソレをスーパーコンピュータで解析しても突破するには苦労する」ぐらい難しい暗号らしく、平たく言えば「一般人には突破不能の砦」なワケです。コレが一般の自作プログラマーからすれば「余計な細工」でしかありません(^^;。
ところが「セキュリティ」と「永井豪のマンガに出てくる女子更衣室の壁」には「穴」があるのが常(笑)。上手い事細工して1.50でも自作プログラムを動かせるように「プログラムをコンバートしてくれるツール」が開発されました。このツールの登場により1.50の価値はグンと上がりました。
逆に言えば1.50では「配布されている自作プログラムを変換しないと起動しない」ワケです。しかし1.00はセキュリティ強化前だったので、このツールでの変換作業が不要で「配布されている自作プログラムを直接メモリースティック内の指定された場所(\PSP\GAMEにフォルダを作る)にコピーするダケで起動する」ので非常にお手軽。そんなワケで「エミュ起動が楽な1.00のPSPと、UMDディスクがちゃんと動作する1.502」の2つを所有するもヨシ、「エミュの起動環境の構築が手間だケド、エミュもUMDも動作する1.50」を所有するもヨシ、と言うワケです。そのあたりは各自の生活環境などとご相談と言う事で(笑)。
ちなみにCHIBINは中古ゲームショップで中古のPSPを購入したんですが、購入する時に「液晶のドット欠けや□ボタンの感触などを確認したいので、電源入れて確認させてもらえますか?」と店員に頼み、速攻でシステムバージョン(とついでにドット欠けなども)チェック(笑)しました。ここでGET出来たのが1.50だったので、ここから先はCHIBINが持っている1.50の話をメインに進めていきます。
この時、どうやってシステムバージョンを確認すれば良いのか迷った覚えがあるので、これから初めてPSPを中古で買おうと言う方、以下の方法でバージョンチェック出来るので覚えてお店にいきませう!<本体のシステムバージョンチェックの手順>
- PSPの電源を入れます。電源は本体右側面(やや下側)にある銀色のスライドスイッチを一番上まで上げると入ります。
- UMDが入っていなければ、普通はココで「メニュー画面」が開きます。もし出ない場合は液晶下の左側にある「HOME」ボタンを押すと表示されます。
- 十字キーの左を数回押し、クロスメニューの一番左にある「設定」の所(カバンのアイコン)にカーソルを合わせます。
- 十字キーの下を数回押し、クロスメニューの下の方にある「本体設定」の所(PSP本体のアイコン)にカーソルを合わせます。
- ○ボタンを押します。
- 十字キーの下を数回押し、クロスメニューの下から2番目にある「本体情報」の所にカーソルを合わせます。
- ○ボタンを押します。
- 画面に「システムソフトウェア バージョン」が表示されます。コレが「1.00」もしくは「1.50」だったら即買いです(笑)。
- ちなみに×ボタンでそこから抜けられるので、ついでに他のメニューとかも見て「オレは画面と操作感をチェックしてるんだよー」感を演技しましょう(笑)。
- バージョンチェックと演技(笑)が終わったら、電源スイッチをもう一度一番上まで上げると電源が落ちます。
「このツールの登場で、1.50の今の地位が確立された。」
そう言っても過言では無いツール、Xploit Toolです。それまでの「解読不能の暗号をどう突破するのか?」という謎に「破損ファイルを利用して起動させる」という事で解決し、実行したツールです。
全てのPSP用自作プログラムは「EBOOT.PBP」というファイル名で起動させるのですが、このファイルを「本体(但し破損ファイル)の入ったフォルダ」と「そのフォルダ名に%を付けたフォルダ(こちらはヘッダ情報のみ?)」に分ける事で、1.50でも自作プログラムが起動するようになった記念すべきツールです。と言う事で、このツールを利用する事により「1.00用自作プログラムを1.50用にコンバート」してくれます。以下にその手順を記します。
<Xploit Tool(バージョン0.3)で1.50用ファイル作成>こうして生成されたフォルダとファイルの名称は変更しないで下さい。似たような名前のフォルダが2つ出来ているし、PSP上で見ると「破損ファイル」とか表示されちゃうので、一見ゴミフォルダが出来たように見えます。しかし%付きのフォルダこそ1.50での自作プログラム起動の「キモ」ですから、削除・変更はしないで下さいね。
- Xploit Toolをインストールしておきましょう。
- 変換したい「EBOOT.PBP」ファイルも準備しておきましょう。
- PSPにメモリースティックを挿入した状態で、パソコンとPSPをUSB接続します。
- Xploit Toolを起動します。
- 「Name:」の所にメモリースティック内に保存する時のフォルダ名(任意)を入力します。
- 「PBP File:」の所にコンバートしたい「EBOOT.PBP」ファイルがある場所を入力(もしくは右横にある「...」というボタンをクリックして場所を指示)します。
- 「PSP Unit」の所にPSPが接続されているドライブ名を選択します。
もし選択出来ない場合は、右横にある「Refresh」ボタンをクリックし、再度選択してみて下さい。- ウィンドウ右下にある「Generate Files」というボタンをクリックすると、PSPのGAMEフォルダ内にNameで指定したフォルダと%付きのフォルダが作成されます。
- PSPのメニューからUSB接続を解除しゲームアイコンからメモリースティックを選択すると、「破損ファイル」と「PSP-DEV LAUNCHER」という黒いアイコンが出来ています。
- この黒いアイコンのファイルを○ボタンで実行すると、自作プログラムが起動します(^^)。
Xploit Toolでコンバートする事で1.50のPSPでも自作プログラムが動作する事により、飛躍的にその存在価値が上がった1.50PSP。しかしXploit Toolでコンバートした自作プログラムは、PSP上では全て同じアイコンで表示されてしまいます。コレが個人的には非常に気になったワケで、そこで発見したのが「アイコンの変更も出来ちゃうコンバートツール」。ソレがこの「PBP Setting」です。
このツールを利用する事により任意のアイコン(拡張子が.pngのファイル)に変更しつつ1.50用へのコンバート(Xploit Toolと同等の機能)が出来ます。
更にバージョン1.6あたりから「破損ファイルの非表示化」にも対応しました。つまりXploit Toolでコンバートすると「破損ファイル」というのがPSP上に表示されるのですが、PSPには「ある一定文字数以上のフォルダは表示しない」というバグ(?)があるので、ソレを利用して「破損ファイルをわざと長い名前のフォルダ名に変更」しつつ1.50用ファイルにコンバートしてくれちゃいます。お陰でPBP Setting 1.6以上でコンバートすると、破損ファイルがPSP上に表示されません(でもメモリースティック内にはちゃんとファイルが存在している)。ってなワケで、CHIBINが利用しているPBP Setting ver.1.7での「アイコン変更しつつ1.50用にコンバートする手順」を紹介します。
<PBP Setting(バージョン1.7)でアイコン変更&1.50用ファイル作成>
- PBP Settingをインストールしなきゃ何も始まりません。
- 変換したい「EBOOT.PBP」ファイルと変更したいアイコンファイルも準備しておきましょう。
- PSPにメモリースティックを挿入した状態で、パソコンとPSPをUSB接続します。
- PBP Settingを起動します。
- ウィンドウ左下にある「Load PBP」ボタンをクリックし、変換したい「EBOOT.PBP」ファイルを選択します。
- するとそのPBPファイルの情報がいろいろと表示されます。
- 右上にある「icon0.png」の所に変更したいアイコンファイルの場所を入力(もしくは右横にある「...」というボタンをクリックして場所を指示)します。
- 左中央あたりにある「TITLE」の所を変更すると、PSPのメニューで表示されるコメントが変更出来ます。
- ウィンドウ下部にある「Save PBP(for 1.5)」というボタンをクリックします。
- 「Save」という新しいウィンドウが表示されます。
- 「Save Folder」の所にPSPが接続されているドライブにある「\PSP\GAME」というフォルダを指定しておきます。
でもいきなりPSPに書き込むのが怖い人は、仮にPCのHDD内のフォルダを指定する事でPC内にコンバート後のファイルを生成しておいて、後で手動でメモリースティック内にコピーしてもOKです。- 「Name」の所にメモリースティック内に保存する時のフォルダ名(任意)を入力します。
- ウィンドウ下部にある「Save」ボタンをクリックすると、「Success」というメッセージが表示されます。とりあえず「OK」ボタンを押します。
- すると「Save Folder」に指定したフォルダ内に「Name」で指定した名前のフォルダと%付きのフォルダが作成されます。
- 「Retrun」ボタンをクリックすると元のウィンドウに戻ります。更に「Exit」ボタンをクリックすれば、PBP Settingは終了します。
- PSPのメニューからUSB接続を解除しゲームアイコンの所に行くと、指定したアイコンの起動ファイルが作成されています(^^)。
PBP Easy Installerでコンバート&アイコン変更&非表示&ソート
自作プログラムを複数インストールしておくと、メニューに表示される「順番」が気になってきます。よく使う物ほど上にあってほしいし、たま〜にしか使わない物は下の方でも良いかな、と。
そこでPSP1.50における「ゲームフォルダ内のアイコンを表示する順番」について調べてみました。すると「フォルダの作成日時が新しい順に表示される」事が分かりました。つまり「PSPメニューにおいて、上に表示したいフォルダほど新しい日付にし、下に表示したいフォルダほど古い日付に」すれば良いワケです・・・が、いちいちパソコンの日付を変更してフォルダ作り直して・・・なんて事、非常に手間です。そこで登場するのがこの「PBP Easy Installer for PSP1.5」というツール。上で紹介したツール同様「1.50用にコンバートする機能」は勿論、「破損ファイルを非表示化しつつコンバート」も出来ます。更にこのツールの面白い(ってか使える)機能として「ファイル(PSP上アイコン)の順番をソート(入れ替え)出来る」というのがあります。コンバート作業とは別に行う事が出来るので、PSPのアイコンのソートをしたい時、ちょこっと立ち上げて使うのにも重宝します。
じゃ、例によってCHIBINが今使用しているPBP Easy Installer for PSP1.5 Ver.1.2Dの使い方を説明します。
<PBP Easy Installer for PSP1.5(バージョン1.2D)でアイコン変更&1.50用ファイル作成>ちなみにCHIBINは現在「非表示コンバートには設定項目の多いPBP Settingを使い、その後PBP Easy Installerでソートする」という手順で使用しています。2つのツールを使うのは確かに手間ですが、まぁそのあたりは各自使い易い手順をふめば良いかと思います。<PBP Easy Installer for PSP1.5(バージョン1.2D)でファイルのソート>
- ツールのインストール&PBPファイル(アイコン変更するならアイコンファイルも)を準備しておきましょう。
- PSPにメモリースティックを挿入した状態で、パソコンとPSPをUSB接続します。
- PBP Easy Installerを起動します。
- ウィンドウ最上部「PBPファイル」の横にある「参照」ボタンをクリックし、変換したい「EBOOT.PBP」ファイルを選択します。
- PBPファイルの情報がいろいろ表示されます。
- アイコンを変更したい場合は、「アイコンファイル」横にある「変更」ボタンをクリックし、変更したいアイコンファイルの場所を指示します。
- 「インストール先MSドライブ」の所にPSPが接続されているドライブ名を選択します。
- ウィンドウ右下にある「破損ファイルを非表示にする。」にチェックを入れる事により、コンバート時に作成される破損ファイルが非表示化されます。
- 「インストール開始」というボタンをクリックします。
- 「生成が完了しました」という新しいウィンドウが表示されます。とりあえずOKボタンを押しておきますか。
- 以上の操作で「1.50コンバートしつつ破損ファイルの非表示化されたファイル」がメモリースティックにインストールされます。
- PSPをUSB接続し、PBP Easy Installerを起動します。
- 「インストール先MSドライブ」の所にPSPが接続されているドライブ名を選択します。
- 下の方にある「手動ソート」ボタンをクリックします。
- PSP内のフォルダ一覧が表示されます。
- 表示順を変更したいフォルダをクリックし、ウィンドウ左にある「↑」「↓」ボタンでその場所を好きに変更します。
- 不要なフォルダは「削除」ボタンで削除出来ます。ウィンドウ下部にある「削除する前にバックアップする」にチェックを入れておくと、PBP Easy Installer実行ファイルのあるフォルダに「backup」フォルダが作成され、そこに削除するフォルダがバックアップされます。
- 思いの表示順になった所で「書き込み」ボタンを押せば、メモリースティックに書き込みが行われ、PSPのメニュー上での順番が設定どおりに変更されます。
- ちなみにメインウィンドウの「破損ファイルをソート」ボタンをクリックすると、破損ファイルをPSPのメニューの一番下にソートしてくれます。
PSP公式サイトによると、CPUの動作周波数は「1〜333MHz」と表記されています。普通、コレ見たら「あぁ、PSPは333MHzで動作してんのか」と思いますよね。ってか思ってましたもん。発売されるまでは。
ところがこのPSP、実は222MHzで動作しているんです(^^;。「内部回路の安定化」もあるでしょうが、最大の理由は「省電力化」でしょうね。パソコンでもそうですが、同じCPUの場合、クロック周波数が高い(数字が大きい)方が消費電力も多いです。そうなるとバッテリー駆動のPSPにとっては致命的なワケです。GBAユーザーでもあるCHIBINから言わせてもらえば、現状の「公称4時間のバッテリー駆動時間」でも短いと感じるのに、このバッテリー駆動時間が更に短くなるのであれば、いっそクロック周波数を下げて少しでもバッテリー駆動時間を稼ごう、という事だと想像されます。
しかしクロック周波数が下がれば、全体の動作スピードも下がるワケで、結果的に「本来の能力の3分の2しか発揮されていない」と言われちゃうワケです。だから真・三国無双で敵がいっぱい表示されると「ソフト制作側が想像している能力の3分の2しか発揮されていない」為に処理落ちしちゃったりするんですかね。と言うワケで現状では222MHz動作のPSPですが、自作プログラムでは「設定変更で動作を333MHzに変更出来る」物がいくつかあります。そこで周波数を上げる事により「動作スピードが速くなる」物があります。お陰で快適に動作しているようにも見えますが、ソニーの想定外の速度で動作しているワケですから「ひょっとしたら見えない所に負荷がかかっている」可能性が考えられます。CHIBINも333MHz動作中にフリーズした事が何度かありました(^^;。
なのでむやみやたらにクロック周波数を上げるのはやめましょう。おざなりな言葉ですが、333MHzで動作させる場合はそのあたりも考慮して、あくまで「自己責任」で行いましょう。ちなみに設定変更してもそのソフトが起動中のみ333MHzなダケであって、UMD再生時やMS内の動画や音楽再生には影響しません(222MHzのまま動作)。
エミュレータの進歩は、まさに日進月歩。昨日のバージョンは今日既に旧バージョン・・・なぁんて事はざらです。エミュが動作し始めたばかりのPSPではなおさらです。
そんな入れ替わりの激しいエミュレータをメモリースティックに保存するなら、「バージョン名も含めたフォルダ名」で保存する事をオススメします。「バージョンを変えたら○○のROMが動かなくなった」など不具合が出た場合、すぐ戻せるようにするのが最大の理由です。又、バージョン違いを入れ替わり立ち替わり起動し直してチェックするのにも都合が良いです。
本体のフォルダが入れ替わり立ち替わりするワケですから、エミュと同じフォルダ内にROMイメージを保存しておくと、エミュのバージョンを変える度にROMイメージも移動しなければなりません。コレが「手間」だと思わない人は気にならないのでしょうが、CHIBINはROMイメージを「\PSP\GAME\0ROM______________________________1」というフォルダにまとめて入れています。
このフォルダに一括してROMが入っていれば、本体バージョン(ってかフォルダ名)が変わってもROMイメージをいじる必要がありません。更にフォルダ名を長い名前にしているので、PSPのメニュー上では非表示化されます(32文字以上のフォルダ名?が非表示化)。でもエミュからの指定は出来ますし、フォルダ名の最初が「0」なので、大抵の場合、一番上に表示(エミュのフォルダ名表示はファイル名順に表示される場合がほとんど)されます。
ただROMイメージを一括管理(実際はROMフォルダの中に、更にNES、SNESなどなど機種毎のフォルダを作ってます)して使うには「エミュ側がROMイメージの場所を選ばない事」が必須条件となります。初期のPSP用エミュは「本体と同じフォルダ内(ルートフォルダ内)にないとROM選択できない」という物も多かったので苦労しました。又、現在でも「ROMイメージの読み込み場所を保存してくれないエミュ」はまだまだ多く、そういったエミュだと起動する度にROMイメージの場所を指定し直す必要があり、コレはコレでまた面倒・・・。だから「ルート内にROMフォルダを作り、本体フォルダが変わった時はそのROMフォルダを移動させる」という使い方もアリかと。まぁ結局、そのあたりをどう折り合いを付けていくかなんですかね・・・(^^;。
エミュは「どのぐらい実機を再現しているか」が重視されます。「対応ROMの豊富さ」「サウンドが遅れない・ちゃんと鳴る」「レイヤー(画層)がちゃんと描画される」などいろいろな目安があるのですが、その1つとして「動作スピード」というのがあります。よく「重たい」「軽い」というヤツです。
この動作スピード、見た目である程度確認出来ると思いますが、コレを「fps」という数値で表示してくれるエミュが多いです。fpsと言うのは「Frame Per Second」の略で、「1秒あたり何回描画してるか」という数字です。この数字が大きい程「動作が速い(軽い)」と言う事になります。ちなみに国産ゲーム機のほとんどが「60fps」で動作していますから、エミュを起動した時に60fps出ていればそのエミュは「実機並みの再現性」と呼べるでしょうね。
逆に60fpsが出ない時、「フレームスキップ」という設定をいじる事で60fpsの動作スピードに近づける事が出来ます。フレームスキップとはその名の通り「フレーム(描画タイミングなど)を間引き(スキップ)する」機能です。スキップ数が増えれば動作スピードは速くなりますが、スキップすればする程に描画がカクカクします。そのあたりは「自分の気持ちよくプレイ出来るスピード」に調整しましょう。