2005年06月11日
PSPのソフト開発 on Mac OS X
Mac OS X上でも、何とかPSPの開発環境が構築できないものかと、試行錯誤してみました。現状、必要なツールのコンパイル自体は完了しているのですが、いざPSPのバイナリをmakeしようとしても、elf2pbpがSegmentation faultを吐いて動作しないので、作成までは至ってません……。ボスケテ、えろいひと(;´Д`)
参考までに、構築過程を晒します。
●GCCのビルド
- www.oopo.netのconsoledevからPlaystation 2 - Toolchain Files(ps2toolchain-xxxxxxxx.tgz→その時その時で最新のファイル名になっています)を持ってくる。
- 適当なディレクトリに展開し、toolchain.sh を以下のように書き換える。
↓## Check for wget. wget -V || { echo "ERROR: Please make sure you have 'wget' installed."; exit;\ }
## Check for wget. # wget -V || { echo "ERROR: Please make sure you have 'wget' installed."; exit;\ }
↓## Download the source. wget -c ftp://ftp.gnu.org/pub/gnu/binutils/$BINUTILS.tar.gz wget -c ftp://ftp.gnu.org/pub/gnu/gcc/$GCC.tar.gz wget -c ftp://sources.redhat.com/pub/newlib/$NEWLIB.tar.gz
## Download the source. curl -O ftp://ftp.gnu.org/pub/gnu/binutils/$BINUTILS.tar.gz curl -O ftp://ftp.gnu.org/pub/gnu/gcc/$GCC.tar.gz curl -O ftp://sources.redhat.com/pub/newlib/$NEWLIB.tar.gz
- ターミナルから sudo ./toolchain.sh
- Mac mini 1.42G/512MBでのビルド所要時間は、およそ1時間20分。最後の方で「make: *** No rule to make target `clean'. Stop.」というエラーが出て止まってしまいますが、GCCのビルドは終わっているので問題ありません。
●outpatchのビルド
- PSP HacksのDownloadから、Hello PSPのソース(hellopsp_src_R1.zip)を持ってくる。
- 適当なディレクトリに展開し、outpatch.cpp の以下の箇所を書き換える。
↓#include "stdafx.h"
#include <stdio.h> #include <stdlib.h> #include <string.h>
↓int _tmain(int argc, _TCHAR* argv[])
int main(int argc, char *argv[])
- g++ -o outpatch outpatch.cpp を実行
●elf2pbp 3のビルド
- PSP HacksのDownloadから、elf2pbp3(elf2pbp3.zip)を持ってくる。
- 適当なディレクトリに展開後、src/に移り、g++ -o elf2pbp main.cpp を実行
(2005/6/16 gcc makeのエラーについてを追加)
(2005/6/14)
elf2pbpをMac OS Xでも動作させるべく、拙い知識でソースを読み始めました。C勉強中の身なので、期待はしないで下さい(ぉ。必要は発明の母也。
(2005/6/16)
elf2pbpは、アプリの名前を埋め込む処理らへんが原因であることを突き止めると同時に、outpatchも要修正という現実を目の当たりにする。両者とも修正の目処は立たずorz。
Macでも上記方法でビルドしたGCCで、PSPの実行バイナリを作成できるということは確認できた。
(2005/6/16 21:37)
【メモステ】PSP自作ソフト総合スレ【起動】スレの926さんが、OS X用にoutpatch/elf2pbpを修正して下さいました。現在、PSPwikiの試験運用アップローダ(通称アップローダ5)に有りますので、ご入用の方はそちらからどうぞ。
当サイトでも、近々まとめページを作ろうと思います。