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プログラミング PSPSDK用アドオン 

2010/07/04
Sun. 06:51

コメント欄で Minimalist PSPSDK の アドオンを紹介して頂いたので記事にします

PSPSDK用のアドオン……登録ライブラリが増えます。が、GPLライセンスでの利用のみという制限があります(そんなぁ~~
(PSPSDK に付属のサンプルソースコードは、BSDライセンスで提供されています)
GPLライセンス - Wikipedia
BSDライセンス - Wikipedia
フリーウェア - Wikipedia


追加されるライブラリとかの解説を読む
      ↓↓↓↓↓↓
同意してダウンロードしたい方は、そのページの左下隅の Downloads をクリックして開くページからダウンロードできます


別途追加するの面倒だから、PSPSDKに吸収されちゃえばいいのに(ぉ


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

[edit]

CM: 0
TB: 0

page top

OSLib とは Old School Library の略なのです。知っている方は多いと思います。
QJ.net にも登録されていますし

先日紹介した、Minimalist PSPSDK アドオン をインストールしたら OSLib のサンプルに boo という面白そうなのが登録されていたのでビルドしてみました。

実行例
おばけだぞー!!

おばけの操作方法
・十字キーで8方向に移動可能
・□ボタンで拡大
・○ボタンで縮小
・Lトリガーで逆時計回りに回転
・Rトリガーで時計回りに回転

DXライブラリPortable でも同じ事が出来るとは思いますが

カワイイおばけですねw


ユーザーモード記述なので、カーネルモード&ユーザーモード、どっちでも起動可能ですよ~
PSP-1000、PSP-2000、PSP-3000

はいはい、Half-Byte Loader R97 でも正常起動できましたっ♪


関連記事

[edit]

CM: 0
TB: 0

page top

2012/01/03更新

DXライブラリPortable v0.5.7 の色コードが、あまりにも貧弱すぎなので勝手に作成w

ここでは、プログラムで使用できる PSP向けの色コードを紹介することにします
尚、この表はどんどん更新します
ダウンロードリンクをご利用下さい

ライセンスはBSDライセンスです。自由にお使いください。

転載される方は、ちゃんと「転載です」って書いてくださいね

色コード表☆バージョン1.21


HTMLによる色付きの表とDXライブラリPortable v0.5.7用並びに OldSchoolLibrary v1.x.x用のヘッダファイル
使い方も書いてあります


/***************************************************************************
* 32ビット色コード for PSP DXライブラリPortable v0.5.7 *
* 32ビット色コード for PSP Old School Library v1.x.x *
***************************************************************************/

// 基本の20色
#define XVI_COLOR_BLACK 0xFF000000 // 黒色   ■■■■■■■■
#define XVI_COLOR_BLUE 0xFFFF0000 // 青色   ■■■■■■■■
#define XVI_COLOR_RED 0xFF0000FF // 赤色   ■■■■■■■■
#define XVI_COLOR_GREEN 0xFF00FF00 // 緑色   ■■■■■■■■
#define XVI_COLOR_DARKBLUE 0xFF800000 // 紺色   ■■■■■■■■
#define XVI_COLOR_MARINBLUE 0xFFFA0000 // 水色   ■■■■■■■■
#define XVI_COLOR_BROWN 0xFF404080 // 茶色   ■■■■■■■■
#define XVI_COLOR_PINK 0xFFFF80FF // 桃色   ■■■■■■■■
#define XVI_COLOR_DARKGREEN 0xFF008000 // 深緑色  ■■■■■■■■
#define XVI_COLOR_YELLOGREEN 0xFF00FF80 // 黄緑色  ■■■■■■■■
#define XVI_COLOR_PURPLE 0xFFFF0080 // 紫色   ■■■■■■■■
#define XVI_COLOR_ORANGE 0xFF4080FF // 橙色   ■■■■■■■■
#define XVI_COLOR_LEMON 0xFF80FFFF // レモン色 ■■■■■■■■
#define XVI_COLOR_YELLOW 0xFF00FFFF // 黄色   ■■■■■■■■
#define XVI_COLOR_SKYBLUE 0xFFFFFF00 // 空色   ■■■■■■■■
#define XVI_COLOR_PEARLORANGE 0xFF75BAFF // 肌色   ■■■■■■■■
#define XVI_COLOR_GRAY 0xFF808080 // 灰色   ■■■■■■■■
#define XVI_COLOR_SILVER 0xFFC0C0C0 // 銀色   ■■■■■■■■
#define XVI_COLOR_GOLD 0xFF20C0E6 // 金色   ■■■■■■■■
#define XVI_COLOR_WHITE 0xFFFFFFFF // 白色   □□□□□□□□

// ホームページデザインでよく利用されている色(アルファベット順)
この下は、HTML用の色コードを全部PSP用に移植した、という暇人ぷりです

ありか
PSP xvi のろだにあげてあるので欲しい人は取りに行ってください

関連記事

[edit]

CM: 0
TB: 0

page top

PSPプログラミング OSLib についてのイロハ 

2011/02/23
Wed. 20:20

OSLib
・・・それは、世界中で一番利用されている有名な開発用ライブラリです.

Old School Library の 略です.調べてみると PSP専用ではなくて 古くからあらゆるC言語の開発用ライブラリとして存在していたようです.

マニュアルは 英語で書かれています.中学生レベルの英語力で読めると思いますのでそんなに難しくはないかと思います.

OSLib の 特徴 】
・DXライブラリPortable と 似ている.
・音声ファイル再生は、MP3だけでなく WAVEやAT3や独自の BGM、MOD にも対応.
 (MP3 は サブCPU = メディアエンジン による翻訳で再生します)
・グラフィック描画は、JPEG、PNG、GIF に 対応.
・グラフィック描画、サウンド再生、OSK、パッド入力判定、ファイル操作、イントラフォントライブラリ、USB制御、アドホック通信、ネット接続、ダイアログ表示、などの関数が用意されています.
・イントラフォントライブラリでの日本語文字描画は、シフトJISとUTF-8両方に対応.
・パッド入力判定は、押した瞬間や押しっぱなし、などを調べる事が可能(バリエーション豊富).
・時間に関する関数は用意されて無いので、PSPSDKにあるものを使えばよい
・ビルドして出来る EBOOT.PBP ファイルのファイルサイズは、DXライブラリPortable での物に比べて小さい.
・常にバージョンアップし続けているのでバグは今のところ発生しないと思える.

【 嬉しい機能 】
・イントラフォントライブラリでUTF-8コード対応なので、6.20TN(HEN)環境 や Half-Byte Loader環境でもPSP内蔵の日本語文字で文字列描画が可能
・WAVE音声が再生できるので、Half-Byte Loader や 署名してでの 音声再生も可能
・グラフィックは、GPU制御で高速描画を実現


関連記事

[edit]

CM: 2
TB: 0

page top

OSLibについて、昨日 講釈したので、今回は導入編です.

OSLibインストール 】
OSLib本家のサイトに行きます.
>> http://oslib.playeradvance.org.
で、Downloadsからダウンロードしてきて“OSLib_210.rar”を解凍します.

Install フォルダの中の Install_devkitpro.bat というバッチファイルの4行目を書き換えます

set PSPSDKDIR=C:\PSPDEV\0.11.1\pspsdk\psp

↑ PSPSDK の下の pspフォルダまでの PATH を記述してください.語尾に"¥"記号は不要.
PATH を間違えてないと確認したら、 Install_devkitpro.bat をダブルクリックして OSLib一式をインストールします.
他の PSPSDK にも同様にインストールして下さい(PSPSDK用アドオン適用のん にはインストールしないで下さい)

Minimalist PSPSDK for Windows には、既にOSLibが含まれているのですが古いですね.
QJ.net にある OSLib MOD v1.1.1 とかは、古いですが OSLib での書き方サンプルソースコードが手に入るのでGETして下さい.

◆ OSLibの場所 ◆
OSLibインクルード・ヘッダー群 = C:¥PSPSDK¥psp¥include¥OSLib¥
OSLibライブラリ・アーカイブ  = C:¥PSPSDK¥psp¥lib¥libosl.a

【 OSLibサンプルソースコード 】
QJ.net にある OSLib MOD v1.1.1 の中に、OSLibでの書き方サンプルソースコードが含まれています.
PSPSDK用のアドオンを導入すると、更に マリオのBOSSおばけ(アトミックテレサ)の表示プログラム(Boo)が含まれています.それは良いサンプル作品ですので是非 PSPSDK用アドオンを導入して下さい(PSPSDK v0.9.5 Add-on).

OSLib本家のサイトでは、WEB版サンプルプログラムがダウンロードできる様になっているのでダウンロードしに行きましょう.
http://oslib.playeradvance.org.
左の Navigation 枠の3番目、Samples にあります

OSLib のトレードマークのロゴを表示するサンプルは、OSLib利用者に人気があるようです.




#include の書き方(OSLib版)

#include <OSLib/OSLib.h>




MAKEFILEの書き方(OSLib版)
雛形です。コピペ推奨。赤い文字は必須。青い文字は必要に応じて書き換えてください。
TARGET = NICEGAME
OBJS = main.o graphic.o sound.o input.o sub1.o sub2.o …………

PSPSDK=$(shell psp-config --pspsdk-path)
INCS = $(PSPSDK)/include
INCDIR = $(INCS)

CFLAGS = -Wall -G0 -O2 -fomit-frame-pointer -mgp32 -mlong32

CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)

LIBDIR =
LDFLAGS =
LIBS = -losl
LIBS += -lmikmod -lpng -ljpeg -lz \
-lpsphprm -lpspsdk -lpspctrl -lpspumd -lpsprtc -lpsppower\
-lpspgu -lpspgum -lpspaudiolib -lpspaudio -lpspssl -lm\
-lpspaudiocodec

PSP_FW_VERSION=371

EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = 開発ソフトウェア名
PSP_EBOOT_ICON = NULL or アイコンのPATH(ICON0.png)144x80
PSP_EBOOT_ICON1 = NULL or 動画アイコンのPATH(ICON1.PMF)144x80
PSP_EBOOT_UNKPNG= NULL or ゲーム説明画像のPATH(ICON1.PNG)310x180
PSP_EBOOT_PIC1 = NULL or アイコンの背景画像PATH(PIC1.png)480x272
PSP_EBOOT_SND0 = NULL or 音楽ファイルのPATH(SND0.AT3)500KB以内

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

# 以下、任意で(開発しているソースに依存)
main.o : main.c main.h mydef.h graphic.h sound.h input.h
graphic.o : graphic.c graphic.h mydef.h main.h
sound.o : sound.c sound.h mydef.h main.h
input.o : input.c input.h mydef.h main.h



EBOOT.PBPに日本語文字で名前を付けたい場合は…
開発したPSPソフトウェアに日本語文字で名前を付けたい場合は、NAGAOKA STATIONさんで配布中のWindows用アプリ PSP用ソフトのアイコンを抽出・変更するソフト V0.04b を使用して下さい。


次回は いよいよ OSLib での イントラフォントライブラリを使った日本語文字列描画をやります.



もはや遅刻常習犯(22:50)


関連記事

[edit]

CM: 0
TB: 0

page top

昨日、書き忘れていた事と+αを書きます.

OSLib のマニュアルはもちろん英語で書かれています.
そんなに難しくない英語ですので雰囲気とかで理解できるかと思っています.必要なら英和辞書で調べてください.

マニュアルは2種類あって、
参照手引き OSLib 2.10¥english_outofdate¥index.htm
関数手引き OSLib 2.10¥doxygen¥index.html
を それぞれ ショートカット作ってデスクトップにでも貼り付けて下さい.
ブラウザのお気に入りに登録してもいいです.

OSLibのスタイル 】
DXライブラリPortableは、殆どが一行書くだけで色んな機能を使えますが、このOSLibでは「やりたい処理を順番に書き貫くことで命令が実現できる」という違いがあります.

ま、OSLibの方が PSPSDK の命令に分解しやすいという事でしょうか.

ではお決まりを憶えてください.
OSLibではグラフィック描画をGPUで制御します.よって、グラフィック描画前にGPU起動を、グラフィック描画後にGPU終了を、命令する必要があります.

それぞれ僅かな命令なので簡単です.

◆描画前に記述
  oslStartDrawing();

◆描画後に記述
  oslEndDrawing();
  oslSyncFrame();



関連記事

[edit]

CM: 0
TB: 0

page top

「イントラフォント」って、PSP内蔵文字を描画する為のライブラリですが、あえて「イントラフォントライブラリ」と呼びます.
「文字種 = フォント」じゃなくて「ライブラリ」だからです.

PSPSDK v0.9.5用に開発された アドオン には古い OSLib が入っています.
今の OSLib は Ver2.10 で、色々と命令の名前などが変わっています.
それは よろしくないので、まず 古い OSLib のを紹介します.

OSLib MOD v1.X.X での雛形(ダウンロード)
OSLib_HINAGATA01_zip.txt
拡張子を ZIP で保存&解凍して下さい.


実際のソースコードは、続きに書いてあります


-- 続きを読む --
関連記事

[edit]

CM: 0
TB: 0

page top

HBL_ICON0.jpg  署名ツール
署名済みHalf-Byte Loaderで起動可能.署名しての起動も可能.


アドオン適用 PSPSDK v0.9.5 に付属の OSLib MOD v1.X.X での
イントラフォントライブラリを使った日本語文字列の描画サンプルプログラム

ScreenShot_2011_02_27_A00.png

シンプルに、こんな表示になります.


ダウンロードしに行く


ソースコードを閲覧したい方は、続きをどうぞ



-- 続きを読む --
関連記事

[edit]

CM: 0
TB: 0

page top

はいはい、ショートプログラムを作りました

画像のスライドショウ+音楽再生+イントラフォント文字列表示
の3機能だけに重点を置いた簡単なモノです

ぶっちゃけ先日のDXライブラリPortable v0.5.7版を OSLib 1.X.X 向けに移植しちゃっただけです
しかし、ストリーミング再生しか出来なかった…
DXライブラリPortable v0.5.7版はメモリに読み込んでから音楽再生やってるんですが

Nendoro_TETO-SANN.jpg
テトさん♪

エナメルP様製作のねんどろいど風ミクミクダンス用モデルさん達を使わせて頂きました


ありか
このブログのアップローダーにおいてあります

なお、アップローダー容量節約のため、DXライブラリPortable と OsLib とで共通の「リソース」はソースコードとは別ファイルになっています


関連記事

[edit]

CM: 0
TB: 0

page top

旧OSLib版 "Hello,World." ソースコード配布 

2011/06/10
Fri. 01:15

はいはい、旧OSLib版 "Hello,World." できました。以前配布した 旧OSLib版ひな型ソースコードをベースに DXライブラリ版の ”Hello,World." を移植してみました。
OSLibを勉強したい方は 基礎だと思うので是非解析してみてください。


◆ 対応PSP ◆
・システムソフトウェア2.80以上の公式PSP
・自作ソフトを起動可能なPSP(カスタムファームウェアやHENなど)
・ユーザーモードのソフトウェアなので、3.XX以降カーネルモード必須

◆ 未対応PSP ◆
・カーネルモード(1.50Kernel)になっているカスタムファームウェアのPSP
・Half-Byte Loader R113からの起動
・システムソフトウェア2.80未満の公式PSP

コンパイラは アドオン適用PSPSDK v0.9.5 限定です


ソースコードは これ(拡張子を ZIP で保存・解凍お願いします)
OSL_HelloWorld2_zip.txt


スクリーンショットはこんな感じ


解説は後日やります

関連記事

[edit]

CM: 0
TB: 0

page top

これらのソースコードですが、ダウンロードして 比較してみた方はどれだけいるんだろうか?

どちらも、実行する作業は同じなのですが、最後だけ、やってる事が違います。

簡単に言うと、
・DXライブラリPortable版は、画面描画をした後で、ループでパッド入力のチェックだけをやっている
・旧OSLib版は、ループで 画面描画を行ないつつ、パッド入力チェックをやっている
という点です

で、DXライブラリPortable版は はっきり言って手抜き なのです
OSLib版のように、毎回画面描画をしつつ、パッド入力をやるのが好ましいプログラミング技術です

配布物はこのままにしておきます。
皆さんが好ましいと判断した "Hello,World." を作ってみてはいかがかな、と。

そろそろ、みなさんも実力を付けて来たと思うので、工作プログラミング(初級)をやってみようかな、と思います

関連記事

[edit]

CM: 0
TB: 0

page top

PSPプログラミング ライブラリについて解説 

2012/02/05
Sun. 05:03

「MakefileのLIBSについて詳しく教えて下さい。」という質問を受けたので


Q.ライブラリって何ですか?
A.プログラムコードをまとめてアーカイブしたもの。 プログラム集。 ライブラリを活用すれば、複雑なプログラムを書く手間が減ります

つまり、PSPプログラミングで PNG画像を扱いたい場合、
・LIBPNGライブラリ
DXライブラリPortable
OSLib(OLD School Library)
のどれかを使えばを使えば可能

mp3音楽を再生したい場合
・LIBMADライブラリ
DXライブラリPortable
OSLib(OLD School Library)
のどれかを使えばを使えば可能

などなど、便利なプログラムが詰まっているのがライブラリというものです
ライブラリはプログラムソースコードは公開されず、実行ファイルに取り込める形式で提供されており、使い方がヘッダーファイルで提供されています
ライブラリを使う場合は、そのヘッダーファイルに書いてある記述方法に従って、命令を書きます

プログラムの #include記述 でヘッダーファイルをプログラムソースコードに取り込みして、Makefile の LIBS= でライブラリ本体を実行ファイルに取り込みします


ライブラリの使い方参照のために、インクルード記述をするのです
プログラムソースコード
#include <stdio.h>
#include <stdlib.h>
#include <pspkernel.h>
#include <pspdisplay.h>
#include <png.h>

ライブラリはコンパイル時に合体させます
Makefile
LIBS =  -lpsppower -lpng -lpspgum -lpspgu -lz -lc -lm



Makefile に記述する、ライブラリ名称の書き方についてはこちらを参照の事
PSPプログラミング PSPSDK に同梱されているライブラリの一覧とリンク記述
http://nekoyama2gillien.blog36.fc2.com/blog-entry-179.html


ここで、PSPSDKには複数のバージョンがあるという事と、それに伴いライブラリにもバージョンがあるという事を再度書いておきます

例:LIBPNG
libpng は、PNG画像を扱うライブラリで、現在は 1.5.X系列 / 1.4.X系列 のバージョンですが、1.2.X系列 の過去のバージョンもあります

>libpngのページ
http://www.libpng.org/pub/png/libpng.html


サンプルソースコードの 「 libpng > screenshot 」 は、PSPSDK v0.11.2r3 ではコンパイルできませんが、PSPSDK v0.10.0以前ならコンパイルできます

理由
PSPSDK v0.11.2r3 での libpng は 1.5.X系列 / 1.4.X系列 のバージョンですが PSPSDK v0.10.0 以前の libpng は 1.2.X系列 なのです

PSPSDK v0.11.2r3 でサンプルソースコードの 「 libpng > screenshot 」 をコンパイルすると、こういうエラーがでます
main.c:(.text+0x450): undefined reference to `png_set_gray_1_2_4_to_8'

これは、PSPSDK v0.11.2r3 の libpng では廃止された 1.2.X系列特有の命令が含まれているため、です
なので、「 libpng > screenshot 」 は PSPSDK v0.8.10 でならコンパイルが通ります


なお、ライブラリは Makefile の LIBS= に書かれている順番で、左(先頭)から順に追加されてゆきます
DXライブラリPortableOSLibを先頭に記述するのは、DXライブラリPortableOSLibがlibpngなどを呼び出ししているから、です。親と子の関係。

「 libpng > screenshot 」 はソースコードを手直しする必要があります。
MakefileのLIBS=は
LIBS =  -lpsppower -lpng -lpspgum -lpspgu -lz -lc -lm

の順番でないとリンク参照エラーがでるようです


まとめ
PSPSDKのバージョンによって、ライブラリの内容が異なります
ライブラリには取り込む順番があります


関連記事

[edit]

CM: 3
TB: 0

page top


h o m e |


 

2017-10