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

記事の間違いを報告 新アップローダー
記事修正情報 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
著作権などの こまかい利用規約については、こちらを開いてお読み下さい
このブログについて知りたい方、初めて来訪された方はこちらを開いてお読みください
お問い合わせは 猫山猫宗(nekomune@gmail.com)までどうぞ
当ブログはリンクフリーです。ブログ名は、アルファベットで「PSP xvi」と書いて『ピーエスピー・エクシビ』とお読みください。
相互リンクを希望されるブログ運営者様は、ココで申請して下さい。
このブログで全記事から探し物の方は、ここをクリックして下さい。
http://nekoyama2gillien.blog36.fc2.com/?all
PSPプログラミング 『 Hello, World ひねくれ版 』 を作ってみた
2009/03/08
Sun. 23:38

『ハローワールド!ひねくれ版』を作ったので、ご報告です。
これは、" Hello, World ! " とかを表示させます。
無限ループで、パッド情報を調べています。
もし、Rトリガーボタンが押されたら、即座に終了してXMBへ戻ってきます。
もちろん、[HOME]ボタンからでも終了可能ですよん。
な、何て親切なんだ(笑)。
全部まとめてココに! ↓↓

PSP_HELLO_hinekure.zip
「Hello, world」は、エミュレーターとかを起動可能にするソフトウェアではないので勘違いしないで下さいね。
Hello world - ウィキペディア
[ インストール方法 ]
FW 1.00 の人 → /HELLO/ フォルダーを、ms0:/PSP/GAME/ 以下フォルダーへコピーする。
FW 1.50 の人 → /HELLO/ フォルダーをPBPmakerやEasyPBP InstallerやKxploit等で分割して、
ms0:/PSP/GAME/ 以下フォルダーへコピーする。
CFW PSP-1000 の人 → /HELLO/ フォルダーを、ms0:/PSP/GAME150/ 以下フォルダーへコピーする。
CFW PSP-2000 の人 → /HELLO/ フォルダーを、ms0:/PSP/GAME/ 以下フォルダーへコピーする。
以下、プログラム・ソースとか(文中の、緑色の文字は注釈なので読み飛ばしOK!)
------------------------------------------------------------------------
ファイル名 == main.c
------------------------------------------------------------------------
/////////////////////////////////////////////////////////////
// //
// HELLO, World arranged. //
// //
// Created by : 猫山 猫宗 in 2009/03/08(SUN) //
// //
/////////////////////////////////////////////////////////////
// ココからは、インクルード部分ですよ~~♪
#include <pspkernel.h>
#include <pspdebug.h>
#include <pspdisplay.h>
#include <pspctrl.h>
#include <pspsdk.h>
#include <pspkernel.h>
#include <stdio.h>
#include <pspctrl.h>
#include <stdlib.h>
// インクルード部分お終い~~♪
// モジュール名を設定する。
PSP_MODULE_INFO("HELLO", 0, 1, 1);
// スレッドの情報を設定する。
PSP_MAIN_THREAD_ATTR(THREAD_ATTR_USER | THREAD_ATTR_VFPU);
// #define は、「定義する」という意味です。
// 'pspDebugScreenPrintf' と書くと長いので、'printf' に省略します。
#define printf pspDebugScreenPrintf
///////////////////////////////////////////////////////////////////
// ↓↓ ココから、[HOME]ボタン押しで終了できるように記述します。
// Exit callback コールバックの終了
int exitCallback(int arg1, int arg2, void *common)
{
sceKernelExitGame();
return 0;
}
// Callback thread コールバックスレッド
int callbackThread(SceSize args, void *argp)
{
int cbid;
cbid = sceKernelCreateCallback("Exit Callback", (void*) exitCallback, NULL);
sceKernelRegisterExitCallback(cbid);
// ポーリング
sceKernelSleepThreadCB();
return 0;
}
// コールバックスレッドの生成
int setupCallbacks(void)
{
int thid = 0;
thid = sceKernelCreateThread("update_thread", callbackThread, 0x11, 0xFA0, 0, 0);
if (thid >= 0)
{
sceKernelStartThread(thid, 0, 0);
}
return thid;
}
//// お疲れ~♪ ↑↑ ここまで書いたら、[HOME]ボタンで終了できます
///////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
// //
// いやほう!メイン関数でーーす!ここから始まります //
// //
/////////////////////////////////////////////////////////////////
int main(void)
{
SceCtrlData pad; // 構造体変数 pad に、パッド入力情報が入る。
pspDebugScreenInit(); // 画面を初期化する
setupCallbacks(); // [HOME]ボタン押しでXMBに戻れる様に設定
sceCtrlSetSamplingCycle(0); // パッド情報を読み込むために、まず行ないます
sceDisplayWaitVblankStart(); // 画面表示の垂直同期信号待ちをします(チラつき防止)
pspDebugScreenInit(); // 画面を初期化する
printf(" Hello, world !!\n\n"); // 画面に書く( \n は、改行文字です )
printf(" Hello, Ludorph !!\n\n"); // 画面に書く(つまり、2行、改行する)
printf(" Hello, kitty !!\n\n"); // 画面に書く
printf("\n Press R button to EXIT."); // 画面に書く( Rトリガーボタンを押せ! )
do
{
// ↓↓ PSPのパッド情報読み取り作業
sceCtrlReadBufferPositive(&pad, 1);
}while(pad.Buttons != PSP_CTRL_RTRIGGER); // Rトリガー押されない限り、無限ループよん
// 一応、[HOME]キーからでも終了できますので。
sceKernelExitGame(); // PSPのゲームを終了させる関数(XMBに戻ります)
return 1; // ダミーですが、書いてみたり。
}
------------------------------------------------------------------------
↓↓ makefile です
------------------------------------------------------------------------
TARGET = HELLO
OBJS = main.o
INCDIR = lib/
CFLAGS = -Wall -G0 -O2 -fomit-frame-pointer -mgp32 -mlong32
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBDIR =
LDFLAGS =
LIBS = -lpspgu -lpsppower
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = HELLO, World Arranged.
PSP_EBOOT_ICON = ICON3.png
PSP_EBOOT_ICON1 = NULL
PSP_EBOOT_UNKPNG = NULL
PSP_EBOOT_PIC1 = NULL
PSP_EBOOT_SND0 = NULL
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
main.o : main.c
------------------------------------------------------------------------
付属の !_mk.bat をダブルクリックでコンパイル開始です。
コンパイルが終ったら、FW 1.00用の EBOOT.PBP が生成されます。
次回は、全角文字版の『 はろぅ わーるど for PSP 』 を製作&掲載します。
皆さん、mediumgauge様に感謝して、全角文字ライブラリが含まれている、PSP用rar展開サンプルプログラム(RAR extract sample for PSP)をダウンロードさせて頂きましょう(#^.^#)。
- 関連記事
-
- PSPプログラミング Mediumgauge氏が、PSP用のrar展開サンプルプログラムを公開。全角文字表示ライブラリも付属 (2011/01/20)
- PSPプログラミング 東雲フォント文字を全部表示しちゃうプログラム (2009/07/14)
- PSPプログラミング HOMEキーで終了 終了ダイアログについて (2011/12/18)
- PSPプログラミング - 32Bitカラーモードの全角文字版 Hello World for PSP の解説 (2009/05/04)
- PSPプログラミング - 32Bitカラーモードの全角文字版 Hello World for PSP (2009/04/22)
スポンサーサイト
[edit]
« 『これが本当のPSP2だ』 ← あなたは信じますか? | アイドルマスターSP カタログ2号 »
この記事に対するコメント
トラックバック
| h o m e |




