ホーム   »  スポンサー広告  »  スポンサーサイト   »  PSPプログラミング  »  第1弾 : PSPでHello world!を表示しよう

スポンサーサイト

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

第1弾 : PSPでHello world!を表示しよう

タイトルどおり、Hello world!を表示します。
但し、C言語についての知識があること、CFW/LCFW/HEN導入済みPSPがあることが前提です。

PSPプログラミングは基本C言語です。
C++でも開発可能ですが、私は試したことが無い。

なお、私の開発環境がWindows Vista + Minimalist PSP homebrew SDK for Windows v0.11.1です。
説明はWindows環境主軸で行きます。
テキストエディタはTeraPadを使用してます。
最低限メモ帳でもいいですが、何かしらのエディタを見つけた方が賢明です。

Linux系のかたはPSPtoolchainというのを導入するんだそうです。
各自ググってください。

開発環境はMinimalist PSP homebrew SDK for Windowsをインストールするだけでいいかな。

では、準備が済んだら続きへGO
まず以下の内容をmain.cというファイルで保存して下さい。
出来れば手打ちでお願いします。

#include <pspkernel.h>
#include <pspdebug.h>

PSP_MODULE_INFO( "HelloWorld", 0, 0, 1 );
PSP_MAIN_THREAD_ATTR( THREAD_ATTR_USER | THREAD_ATTR_VFPU );

int end_flag = 0;

int exit_callback( int arg1, int arg2, void *common )
{
end_flag = 1;
return 0;
}

int CallbackThread( SceSize args, void *argp )
{
int cbid = sceKernelCreateCallback( "Exit Callback", exit_callback, NULL );
sceKernelRegisterExitCallback( cbid );
sceKernelSleepThreadCB();
return 0;
}

int setupCallbacks( void )
{
int thid = sceKernelCreateThread( "update_thread", CallbackThread, 0x11, 0xFA0, 0, 0 );
if( thid >= 0 ) {
sceKernelStartThread( thid, 0, 0 );
}
return thid;
}

int main( int argc, char *argv[] )
{
setupCallbacks();
pspDebugScreenInit();

while( end_flag != 1 )
{
pspDebugScreenSetXY( 0, 0 );
pspDebugScreenPrintf( "Hello world!\n" );
}

sceKernelExitGame();
return 0;
}


そして、次にMakefileです。
Windowsユーザーには馴染みないでしょうが、慣れると便利なのでぜひ習得して下さい。
Makefileという名前で以下をmain.cと同じフォルダに保存して下さい。
拡張子は無しです。間違ってMakefile.txtなどとしないように。

TARGET = HelloWorld
OBJS = main.o

INCDIR =
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

LIBDIR =
LDFLAGS =
LIBS =

EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = HelloWorld!

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak


次に、!_mk.batというバッチファイルを同様にMakefileとmain.cと同じフォルダに作ります。
これをワンクリックでビルド出来る様にです。
次回より使いまわします。

PATH=ROOT:\pspsdk\bin\;ROOT:pspsdk\psp\bin\;
DEL *.ELF
DEL *.SFO
DEL *.PBP
make
pause

ROOT:\pspsdk\bin\;ROOT:pspsdk\psp\bin\;
については各自の環境に合わせて設定して下さい。
Minimalist PSP のインストールされたHDDの文字が"ROOT"に入ります。
私の場合はDドライブにインストールしたので
D:\pspsdk\bin\;D:pspsdk\psp\bin\;
となりました。

さて、これで!_mk.batをクリックすると問題が無ければEBOOT.PBPというファイルが同じフォルダに生成される筈です。
問題があった場合、上に戻って間違いが無いか見て下さい。

生成されたEBOOT.PBPは PSP/GAME/HelloWorld にでも突っ込んでください。
XMB(クロスメディアバー)の体験版ゲームが表示される場所にHelloWorld!というゲームがある筈です。
起動して見て下さい。
(スクショ貼ろうと思ったら緊急鯖メンテで貼れなかった。でも、結果が見えるのは楽しくないので貼らない。)

HOMEボタンより終了出来ることも確認してください。

以上、今回は終了です。
詳細説明は次回行います。
それまで、色々数値を弄ってはビルドして、何が変化するか確かめてみて下さい。
HelloWorld!の印字位置を移動できるようならOKです!
スポンサーサイト
Comment
インストールについて
Minimalist PSP homebrew SDK for Windows v0.11.1は
どうやってインストールすればよいですか
Trackback
Trackback URL
Comment Form
管理者にだけ表示を許可する
Twitter...A

estuibal=Y.K < > Reload

検索フォーム
RSSリンクの表示
リンク
QRコード
QR
ブロとも申請フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。