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

2012 06-10 新アップローダーに引越しました。
7/17(金) [ 続きを読む ] に、ソースコード(一部抜粋)を追加しました。
7/18(土) 今まで、プログラムの流れが下から上、という解かり難いモノだったので、上から下へ変更しました。


さて、役に立たないゲームプログラミング初作品として、ここに『 PSPデスクトップ ドドド v0.1』 お試し版をリリースしますwwwww

うん、役に立たないソフトウェアなんだ。ジョジョウェアですが?

まずは実行画面のスクリーンショットからどうぞ。
DoDoDo_v01_SS.png

なにが起こっているか説明すると、PSP画面(デスクトップ)に、めちゃくちゃに『ド』が書き込まれる、というシロモノ。だって、ジョジョウェアだし。(^^;;;;


遊び方
1.PSP Desktop DoDoDo v0.1 のゲームアイコンを起動させます。
2.すると、画面が深緑色に塗りつぶされ、「ド」が うごめきまわります。
3.×ボタンを押すと、画面が深緑色に塗りつぶされます(リフレッシュ)。
4.終了したい場合は、Rトリガー押しで一発終了できます。
5.HOMEボタンからでも終了できます。


その他については、付属テキスト(!!_読んでね.txt)を参照してください。

このソフトウェアは、近日中にヴァージョンアップ予定です。
 ・ ジョジョのPSP壁紙が付きますwwww
 ・ 「ド」が更に ジョジョ風になります。




ソースの解説は、以下の記事で行なっています。
PSPプログラミング 『 PSPデスクトップ ドドド v0.1』 お試し版 ソース解説



『 PSPデスクトップ ドドド v0.1』 お試し版 のダウンロード
DoDoDo_v01.zip  270 KB (277,382 バイト)
ダウンロード
ソース付き / 実行ファイル付き
(ソースのコンパイルには、全角文字表示ライブラリが必要)
PSP-1000&PSP-2000&PSP-3000[HEN必須] 対応
ユーザーモードのEBOOT.PBPです。
正規PSPでは Half-Byte Loader で実行可能!




( 全角文字表示ライブラリを、勝手に改造中………。 )
   今後、XVIprint関数が %s とか %d とか %X とかにも対応するかも(^^;;;

【 関数名を大きく変更しました 】
  → DXライブラリPortable との共存が可能です!

【 背景色設定用の関数を新しく用意しました 】
  → XVISetTextBGcolor( ); という関数で、文字の背景色を指定可能。
  → mh_print( )関数のパラメータの数は、標準のモノと同じです。

【 mh_print関数の機能を拡張したので関数名を変更しました 】
  → XVIprint( ); と改名しました。
  → 文字の色のキャストを、int へ戻しました。
  → 垂直同期待ち処理の際の、フレーム設定のバグを修正しました。


【 関連記事 】
PSPプログラミング 『 PSPデスクトップ ドドド v0.1』 お試し版 リリース
PSPプログラミング 『 PSPデスクトップ ドドド v0.1』 お試し版 ソース解説
今、つくりかけのん………PSPデスクトップ ドドド 改
PSP Homebrew : 『PSPデスクトップ ドドド 改』 何気にリリース


作者より


本日から、独自のサブルーチン群のライブラリ集を製作開始しました。
まだほとんど出来ていないので、気長に 見守っていて下さい。


以下、ソースだよっ

////////////////////////////////////////////////////////////////////////
//
// 『 PSPデスクトップ ドドド v0.1 』
//
// 製作:猫山猫三郎猫宗 in 2009.07.15(WED)
//
////////////////////////////////////////////////////////////////////////


// (中略)

// 関数の定義をする
int main(int argc,char *argv[]); // メイン
void disp_DoDoDo(void); // ドドドのサブルーチン
void Draw_Do(void); // 「ド」を書くサブルーチン
int _rand(void); // 乱数生成サブルーチン

// グローバル変数の定義
static unsigned long rnd_seed; // 乱数の種

PSP_MODULE_INFO("DoDoDo", PSP_MODULE_USER, 1, 1);
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER); /*メインコードはユーザモード*/

//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
//■ メイン
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

int main(int argc,char *argv[])
{
XVISetHOMEbutton(); // [HOME]ボタンのコールバック , [HOME]ボタンで終了可能

XVIScrnInit(); // Gu初期化

sceCtrlSetSamplingCycle(0); // パッドの初期化
XVIScreenFrame(1,0); // 表示画面と描画画面を同じにする , XVIpg.c にあります
// 今回は、画面フレームは一つのみ、です

XVIFillvram(DARKGREEN); // 深緑色でPSP画面を塗りつぶし
XVIScreenFlipV(); // PSP画面表示

disp_DoDoDo(); // PSP画面に「ドドド」描画 / 抜けるにはRトリガー押し

sceKernelExitGame(); // 終了してXMBへ復帰
return 0; // この return命令 は実行されませんが、念の為に記述してあります。
}

/*****************************************************************************
* サブルーチン ドドドを書く&Rトリガー判定
*****************************************************************************/

void disp_DoDoDo(void)
{

XVIFillvram(DARKGREEN); // 深緑色でPSP画面を塗りつぶし

do
{
Draw_Do(); // 'ド'を一文字 描画
XVIScreenFlipV(); // PSP画面表示
XVIWaitVn(6); // 6/60秒 = 0.1秒ほど 待ちます
XVIreadpad(); // ← パッド状態取得 , XVIpg.c にあります
if((now_pad&PSP_CTRL_CROSS)!=0) // もし×ボタンが押されたら
XVIFillvram(DARKGREEN); // 深緑色でPSP画面を塗りつぶし

}while((now_pad&PSP_CTRL_RTRIGGER)==0); // Rトリガーが押されるまで無限ループ

XVIFillvram(BLACK); // 黒色でPSP画面を塗りつぶし
XVIScreenFlipV(); // PSP画面表示
}

/*****************************************************************************
* サブルーチン 「ド」を描く
*****************************************************************************/

void Draw_Do(void)
{
int x,y,color_Do;

color_Do = ((int)(_rand()%256)<<16)|((int)(rand()%256)<<8)|((int)(rand()%256));

color_Do &= 0xFFFFFF;

x=(int)(_rand()%453)+20; // この数値は適当につけました。今後変更の予定
y=(int)(_rand()%235)+20; // この数値は適当につけました。今後変更の予定

if(x<5) x=10; // この辺は
if(x>460) x=450; // 念の為に
if(y<12) y=18; // 記述して
if(y>250) y=240; // いるのさっ

XVISetTextBGcolor(COLOR_TOUMEI); // 文字の背景色を透明にします
XVIprint( x ,y ,"┣",color_Do); // ドの ト 部分
XVIprint( x+8,y-6,"‥",color_Do); // ドの 点々部分
}

/*****************************************************************************
* サブルーチン 乱数生成
*****************************************************************************/

int _rand(void)
// ここで新しく、乱数を使います。乱数とは予想できない不規則な数値の事。
// でたらめな数値が欲しい時に使用します。
// _rand()を呼び出すたびに、色んな数値を返してきます。
{
int xf;
rnd_seed+=xf+sceKernelLibcTime((void *) 0);
xf = rnd_seed/45309; // ← この数値が乱数生成に重要な役割です(テキトーな値だが)
return xf;
}

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

[edit]

CM: 0
TB: 0

page top

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

page top

コメントの投稿

Secret

page top

トラックバック

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

page top


h o m e |


 

2017-03