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

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

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


h o m e |


 

2017-04