PSP xvi

PSPプログラミングを教えるブログ(本気で頑張る人アクセス大歓迎サイト)

PSP-X.gif

記事の間違いを報告  新アップローダー
記事修正情報 PSPプログラミング資料 自作ゲーム PSP用エミュレータ リンク

公認リンク
公式PSP専科 公式PSVita専科 はじめるPSPSDK PSP EXEC GAME M@STER PSP 猫山のYouTubeチャンネル

TAG
全記事にタグをつけています  http://nekoyama2gillien.blog36.fc2.com/?tag=タグ
PSP PSPプログラミング DXライブラリPortable OSLib ショートプログラム ハローワールド
PSP自作ゲーム PSP自作ソフト エミュレータ ゲームアーカイブス PSP動画
動画 初音ミク ミクミクダンス MMDドラマ ゲーム 魔法少女まどか☆マギカ 侵略!イカ娘
アイドルマスター

このブログについて

このブログでは、非公式のPSPソフト、いわゆる自作ソフト( PSP Homebrew )を作る事を目的とします。

著作権などの こまかい利用規約については、こちらを開いてお読み下さい

このブログについて知りたい方、初めて来訪された方はこちらを開いてお読みください
お問い合わせは 猫山猫宗(nekomune@gmail.com)までどうぞ


当ブログはリンクフリーです。ブログ名は、アルファベットで「PSP xvi」と書いて『ピーエスピー・エクシビ』とお読みください。
相互リンクを希望されるブログ運営者様は、ココで申請して下さい。


このブログで全記事から探し物の方は、ここをクリックして下さい。
http://nekoyama2gillien.blog36.fc2.com/?all

スポンサーサイト 

--/--/--
--. --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[edit]

CM: --
TB: --

page top

今、PSP界で熱い 噂の Half-Byte Loader ですが、ソースが GNU General Public License で公開されているのでコンパイルやっちゃましょう、という記事です.

現在、過去物のコンパイル記事を製作中です(2011.02.05).


以下記事は、署名済み Half-Byte Loader Revision113 のコンパイルを目的として作成しています.
注意:まだ不完全記事です.皆さんからのアドバイスや情報をお待ちしております.

難易度:コンパイルは 中級者~上級者向け
PSPSDK(Minimalist PSPSDK おっけー)の導入が出来ていて、サンプルソースのビルドが出来るよ、っていう方でコンパイルの流れが理解できている方むけです.

Half-Byte Loaderって何?という方へ
自作ゲームを正規PSPで遊ぶ方法に使えるソフトウェアです.下記ページで解説中.
http://www42.tok2.com/home/nekomune/mudah/psp/HALF_BYTE_LOADER.htm


【 登竜門 】
まず、PSPSDKの導入から(Minimalist PSPSDK v0.8.10)
PSPプログラミング PSPプログラミング環境を構築しよう!
テストで、サンプルソースのビルドで肩慣らし

上記の登竜門をクリアできたら、下記へ移行して下さい.

【 コンパイルの手順 】
● Half-Byte Loader のソースコードの利用規約を良くお読み下さい(翻訳しました)

  valentine-hbl - Project Hosting on Google Code

  GPLライセンスを尊重して下さい
  最新ソースコードの利用は自由ですが、実行ファイルの配布物には
  必ずソースコードを添えて下さい
  もしそれが守られない場合、私は開発を止めます


● 亀さんをインストールします
  まず、お勉強してください.
  Subversion/概要とインストール
  Subversion/リポジトリのコミット・チェックアウト

  ソースコードが格納されている、リポジトリという場所からソースコードをダウンロードできる無料ソフトウェアです.
  今現在、http://tortoisesvn.tigris.org/ の チョイ下、Latest Version TortoiseSVN 1.6.11 Grab it from the download page. …というのが書いてあるので、そっちのリンクをクリック

  32 Bit TortoiseSVN-1.6.11.20210-win32-svn-1.6.13.msi  Installer
  64 Bit TortoiseSVN-1.6.11.20210-x64-svn-1.6.13.msi   Installer

  ↑↑あなたのPCに合わせて、どっちかをダウンロードしてください.


0000.png
  インストールが終わったら、パソコンを再起動してください.



● ソースコードを保存する場所を、マイコンピュータで開きます(もしくは新規作成)
  フォルダを作ります

● Half-Byte Loader の Revison 113 ソースをGETします.
  ソースのありか Revision番号の確認(ここでは、Revision113でやります)
  http://valentine-hbl.googlecode.com/svn/trunk/
  ↑このアドレスをコピーしてください.
 手順1.ソースコードを格納するフォルダを開いたら、右クリックして図のように
KAME01_r113.jpg

 手順2.ソースコードのありかURLを貼り付けて、Revision側にして、ソースコードのリビジョン番号 113 を入力します.
KAME02_r113.jpg

 手順3.[OK]ボタンを押すと、ソースコードのダウンロードが始まります.
クリックで拡大

 手順4.取得成功!・・・と思ったら 署名済みRevision113のソースファイルが足りないので Revision115 のソースコードも同様に取得してください.

 手順5.足りないファイルを補足
   Revision115 の eLoader\signed\ の中身全部を、Revision113 の eLoader\signed\ へ上書きでコピー
   Revision115 の launcher\ の中身全部を、Revision113 の launcher\ へ上書きでコピー

 手順6.これでおっけー!完了


● 取得したソースコードですが、SDK と eLoader の2つについては、SDK のをコンパイルすると「ハローワールド(過去のRevison)」もしくは「メモリダンパー」になり、eLoader のをコンパイルすると「Half-Byte Loader」になります.launcherのは、XMBから起動用の 署名済みHalf-Byte Loaderランチャー です.

● コンパイル用のバッチファイルをメモ帳などのテキストエディタで作成します.
ファイル名は ビルド.BAT で(BAT形式で保存)
PATH=C:\pspsdk\bin\;C:\pspsdk\psp\bin\
DEL *.bin
DEL *.s
DEL *.elf
DEL *.o
make
pause


(上記バッチファイルの説明)
  1行目:PATH(通り道)を記述して、コンパイラが起動できるようにします.
  2行目:DELで、拡張子.bin のファイル全部を削除するように記述.
  3行目:DELで、拡張子.s のファイル全部を削除するように記述.
  4行目:DELで、拡張子.elf のファイル全部を削除するように記述.
  5行目:DELで、拡張子.o のファイル全部を削除するように記述.
  6行目:コンパイルを実行する make (実行ファイルの作成).
  7行目:pause は一時停止コマンド。もしエラーが発生した時、エラーメッセージを読むための配慮.
  くれぐれも、ビルド.BAT.txtとかにならないように気をつけて下さい.

● PSPSDKに、署名機能を追加します
 ◆ 用意するもの ◆
 ダウンロード:prxencryper_sdk.7z ← 本体
 (Previos version) PrxEncryper.7z ← PrxEncryper のソースコード(おまけ)
 >> http://wololo.net/wagic/2011/01/17/release-prxencrypter-by-bbtgp/

 fix-relocationsしてから 署名すると良いそうです.
 ダウンロード:fix-relocations(ソースコード&Windows用EXE)
 >> http://wololo.net/talk/viewtopic.php?p=21345#p21345

 ダウンロード:fix-relocationsしてから 署名するように改良したbuild.mak
 (ファイル名を build_mak.txt から build.mak にリネームして ご使用下さい)


 ◆ 準備(事前に Minimalist PSPSDK を導入しておくように) ◆

 1.上でダウンロードした build.mak を、C:\PSPSDK\psp\sdk\lib\ フォルダの中へ上書きでコピーします.
 2.prxencryper_sdk.7z を解凍します.
 3.中の pspsdk/bin/フォルダ内の prxEncrypter.exe を C:\PSPSDK\bin\ へ入れます.
 4.fix-relocations.zip を解凍します.
 5.中の fix-relocations.exe を C:\PSPSDK\bin\ へ入れます.

 ◆ テスト(サンプルソースの署名コンパイル実験) ◆
 1.prxencryper_sdk.7z を解凍します.
 2.helloworldフォルダ内の build.bat をテキストエディタで開いて、PSPSDKへのPATHが正しいか確認します.
  (違っていたら修正してください)
 3.同様に、clear.bat をテキストエディタで開いて、PSPSDKへのPATHが正しいか確認します.
  (違っていたら修正してください)
 4.ビルドのバッチファイル build.bat を起動させます.
 5.生成される EBOOT.PBPファイル を 正規PSPで起動実験します.
  (ms0:/PSP/GAME/hoehoe/EBOOT.PBP)
 6.起動成功したら、実験は成功です.


【 コンパイル方法 】
/SDK/ 側
ビルド.BAT をコピー&貼り付けしてダブルクリック.
最終的に、h.bin が出来ればよろしい.

/eLoader/ 側
・署名済み版を作るので、Makefile を書き換えます.
 17行目の
  FOLDER=patapon2
   を
  FOLDER=signed
   にして Makefile を 上書き保存します.

・Revision 番号を確認します.
 ソースの svnversion.txtファイルと svnversion.h ファイル をテキストエディタで開いて、

  #ifndef SVNVERSION
  #define SVNVERSION "$WCREV$" ← そのソースの Revision 番号に更新&書き換えます(r113なら "113"に)
  #endif


デバッグ版を起動実験してみると、かなり時間がかかったのでノンデバッグ版を作るように ビルド.bat を書き換えます.
NONDEBUG_ビルド.bat と命名.
ファイル名は NONDEBUG_ビルド.bat で(BAT形式で保存)
PATH=C:\pspsdk\bin\;C:\pspsdk\psp\bin\
DEL *.bin
DEL *.s
DEL *.elf
DEL *.o
make distrib
pause




NONDEBUG_ビルド.bat をコピー&貼り付けしてダブルクリック
hbl.bin と h.bin が出来ましたね
Minimalist PSPSDK でコンパイルすると SVN からデータが取れなくてエラー2個でるけど、バイナリはつくられます
・次に、/MENU/ の EBOOT.PBP を作成しますので、ビルド.BAT をコピーして /MENU/フォルダ内へ貼り付け、ダブルクリックします.
EBOOT.PBP と eboot.prx が作られますが、必要なのは EBOOT.PBP だけです.

◆ ゲームに入れる、起動用の 署名したHalf-Byte Loader ランチャーの作成手順 ◆
 /launcher/ 側 の中身をコンパイルします.
PSP Go用のランチャーを作るには、main.c の一部を書き換える必要があります

main.c の 11行目
    SceUID file = sceIoOpen("ef0:/h.bin", PSP_O_RDONLY, 0777);

アイコンを欲しい方は、これをどうぞ(名前は ICON0.png で)
ICON0_HBL_01.png

アイコンを埋め込む場合は、Makefile に次の一行を追加します

PSP_EBOOT_ICON = ICON0.png


では Half-Byte Loader ランチャーを署名コンパイルしてみよう!
ファイル名は ビルド2.BAT で(BAT形式で保存)
PATH=C:\pspsdk\bin\;C:\pspsdk\psp\bin\
DEL *.elf
DEL *.o
make
pause



1.ビルド2.BAT をコピー&貼り付けしてダブルクリック.
2.EBOOT.PBP と hbl.prx が作られれば おっけー
3.必要なのは、EBOOT.PBP だけです.
4.ところが、ビルドできたけど起動させると沈黙してしまいますよ?
5.原因はいろいろあると思いますが、次のRevision待ちでもしましょうか.
6.仕方ないので公式版の署名済みHalf-Byte Loaderのランチャーを代用してください.
  ( /PSP/GAME/HBL/EBOOT.PBP )

◆ Half-Byte Loader 起動テスト用プログラムのコンパイル ◆
 /eLoader/test/ の中身をコンパイルします.
ビルド.BAT をコピーして /eLoader/test/フォルダ内へ貼り付け、ダブルクリックします.
EBOOT.PBP が作られます.

【 メモ 】
/SDK/ 側の h.bin でやると、「 hello world 」もしくは「メモリダンパー」になります.

【 実行バイナリをPSPへ構築 】
/eLoader/ 側 の h.bin でやると、「Half-Byte Loader」 になって、メニューから、好きな PSP Homebrew が選択実行可能です.

・メモリースティックのルートへ、作成した h.binだけ貼り付けます.
・メモリースティックのルートに、hbl フォルダを作成します.
・メモリースティックの /hbl/フォルダへ、作成した hbl.bin だけ貼り付けます.
・/eLoader/signed/フォルダ内の /config/フォルダ以下を メモステの /hbl/フォルダ以下に貼り付けます.
・/hbl/以下へ、ソースコード側の libs_50x libs_570 libs_5xx libs_63x libs_6xx の5個のフォルダごと貼り付けます.
・/hbl/以下へ、ソースコード側の /hbl_config_samples/フォルダごと貼り付けます.
・/hbl/以下へ、menuフォルダを作成して、先ほど作ったmenuフォルダ側の EBOOT.PBP を入れます.
・Half-Byte Loader起動テスト用プログラム eLoader\test\EBOOT.PBP を、PSPメモステ /PSP/GAME/ へ入れます.

ここまでで、こうなります(署名済み版)
ZIP_r113.jpg

「署名済み版」はこれで構築が完成です.

【 起動テスト 】
 1.署名済みHalf-Byte Loaderがメニューまで動作するか確認してください.
 2.メニューまで行ったら、ms0:/PSP/GAME/test/EBOOT.PBP の起動テストをします.
 3.問題なく動作するようでしたら、いろいろな自作ソフトの起動実験をして下さい.


注意事項
作者のwololo氏は、バイナリの配布をなるべく控えるように、と語ってらっしゃいます.
納得のゆくRevisionでないとバイナリ配布しない、という方針です.
ですので、ソースコードのコンパイルをして実行ファイルを作っても配布はしないようにするのが良いという事です.

もし、配布の許可があれば、
各自で作ったのを配布希望の方は、自作ソフトの正常起動を確認してからにして下さい.
配布をする際は、CHANGES と LICENSE のテキストファイルの同梱 と ソースも同梱する事を守って下さい.
配布物の構築状態は、カスタムなPSPblogさんからダウンロードして参考にするといいです.

/tools/ の方は、Windows用のCコンパイラでやるのですが、~.nids が既にあるので作らなくて良いんですな.
やりたかったら 配布終了の PRXtools で作業をしなくてはなりませんよ.


関連記事
スポンサーサイト

[edit]

CM: 2
TB: 0

page top

この記事に対するコメント

報告@Rev122 BuildTest

r112でBuild Testしてみましたが、この方法のままだとコンパイル通らないっぽいです。
(eLoaderのビルド時にエラーを吐きます)
時間があるときにエラーの原因でも調べてみようと思ってます。

報告でした。

volotax #KL7JeR1E | URL | 2012/02/13 23:44 * edit *

おいおい・・・

なんでr112で検証するのさ?記事はr113なのに・・・・

今の最新はR122やぞ。
ちょっと最新版コンパイルすっから待っててくれい。PS Vitaネタ踏まえて解説するよ

猫山猫宗 #jjrqi.Ao | URL | 2012/02/14 16:42 * edit *

page top

コメントの投稿

Secret

page top

トラックバック

トラックバックURL
→http://nekoyama2gillien.blog36.fc2.com/tb.php/446-681a8cc8
この記事にトラックバックする(FC2ブログユーザー)

page top


h o m e |


 

2017-05