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自作ゲーム PSP Revolution v0.4 

2009/07/06
Mon. 00:30





ズバリ、某ゲームメーカーの 『音に合わせてダンスゲーム』 をPSP用の 無料ゲームにした作品。
無料本家ソフトはWindows用の STEPMANIA。バーーーーン!!



この自作ゲームは、署名済みHalf-Byte Loaderを利用する事により、公式PSPで遊ぶことが可能です。

-- 続きを読む --
関連記事
スポンサーサイト

[edit]

CM: 24
TB: 0

page top

予備の PSP-1000 を CFW5.50 GEN-B にしたので、何かエミュレータでも入れようか…と思い、1.50カーネルアドオン for 5.50 GEN がまだリリースされていないので、カーネル3.xx化のパッチを当ててみました。
XMAME が勢ぞろい!
XMAME が 勢ぞろい!


NAGAOKA.png

カーネル1.50のソフトをCFW3.xx用に変換するソフト Ver.0.2 リリース (NAGAOKA STATION)
URL = http://nagaokastation.com/blog-archives/2007/11/150cfw3xx_ver02.html
      ↑↑ を使用して、FW1.00専用の XMAME の カーネル3.xx化の実験をしてみました。


【 実験 1 】
パッチを当てないで、素で起動させてみる( ノーマルEBOOT.PBP )。

【 結  果 】
スーーーッ、と起動ロゴが消えてから、PSPがフリーズしました。エラーは発生しません。
[ HOME ]キーがききません(泣)。仕方ないので、強制終了!!


【 実験 2 】
カーネル3.xx化パッチを当ててから、起動させてみる。

【 結  果 】

スーーーッ、と起動ロゴが消えてから、PSPがフリーズしました。エラーは発生しません。
[ HOME ]キーがききません(泣)。カーネル3.xx化パッチがきいてないぞ??

【 この実験での まとめ 】
既存の XMAME は カーネル3.xx化が出来ないッッッ!!


動作確認したPSP
・・・・・・・ PSP-1000( CFW5.50 GEN-B / カーネル5.XX )

実験はまだ続きます・・・・・。

関連記事

[edit]

CM: 0
TB: 0

page top

カーネル5.XX の CFW5.50 GEN-B で、XMAMEのカーネル3.xx化での起動に失敗したので、今度は MAME4ALL に カーネル3.xx化のパッチを当ててみました。

MAME4ALLでつよー
MAME4ALLでつよー!


NAGAOKA.png

カーネル1.50のソフトをCFW3.xx用に変換するソフト Ver.0.2 リリース (NAGAOKA STATION)
URL = http://nagaokastation.com/blog-archives/2007/11/150cfw3xx_ver02.html
      ↑↑ を使用して、カーネル1.50専用の MAME4ALL の カーネル3.xx化の実験をしてみました。


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

[edit]

CM: 0
TB: 0

page top

言わずと知れた、PSP用ファミコンエミュレータ『NesterJ』

カスタムファームウェア 5.50 GEN-B (カーネル5.XX) で起動テストをしてみました。
(ROMを実装してのテストではありませんよ)


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

[edit]

CM: 0
TB: 0

page top

PSPプログラミング講座です。

さて、次に行く前に、ちょっと脱線しますよ。

mediumgauge氏 製作 の 『全角文字表示ライブラリ』が、何故 こんなに たくさんの文字群を描画できるかについての謎を紐解くために、
ここに パソコンの日本語文字 & コード 一覧表(ASCII & SHIFT-JIS) [Windows版] というテキストファイルを配布します。

日本語文字 & コード 一覧表 [Windows版]
83.2 KB (85,206 バイト)
ALL_MOJI_[JPN].zip
ダウンロード

PASS:窓辺ななみ


特別付録として、WindowsXP の 文字のスクリーンショット(一部抜粋)が収録されています。

各自ダウンロードしてから解凍して閲覧してチョ。

印刷する場合は、不要部分をデリートしてからで お願いしますよ。

ブログをお持ちの方で、『所有の端末にて このテキストを表示させてみると、面白い文字が表示されたっ』とかありましたら、ブログの記事にしてみて下さい。

今の狙い目は、PSPファイラーです。どこかに絵文字が隠れています。
発見したら、あなたのブログの記事にして下さい(スクリーンショット写真も添えてねん)。

添え忘れましたが、このテキストは PDS(著作権放棄のフリーウェア)です。転載、改変、削除、再配布許可。


このテキストは、『Windowsパソコン & Turbo C++コンパイラ』 にて作成しました。


【 関連記事 】
PSPプログラミング 全角文字表示ライブラリをダウンロード
PSPプログラミング [ 番外編 ] 日本語の文字 一覧表(ASCII & SHIFT-JIS) 完全版
PSPプログラミング 東雲フォント文字を全部表示しちゃうプログラム
PSPプログラミング 東雲フォントのデータ構造を調べました
PSPプログラミング 全角文字表示ライブラリ公開停止中のお知らせ
PSPプログラミング 『東雲フォント』が動画になった

関連記事

[edit]

CM: 0
TB: 0

page top

アイドルマスターSP カタログ6号 

2009/07/13
Mon. 07:09

PSPアイドルマスターSP』の、その後のニュースです。

バンダイナムコゲームスは、PSP用ソフト『アイドルマスターSP(エスピー) パーフェクトサン/ワンダリングスター/ミッシングムーン』のダウンロードコンテンツ (DLC)第6弾を、09年7月15日より配信する。


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

[edit]

CM: 0
TB: 0

page top

COBRA 『ラグボール』 

2009/07/13
Mon. 12:26

COBRAラグボール (MFコミックス)COBRAラグボール (MFコミックス)
(2007/10)
寺沢 武一

商品詳細を見る


【 この商品へのレビュー 】

COBRA「ラグボール」フルカラーCGコミックス

2007年10月30日発売の このマンガ。
発売直後限定で、 「人気最大のシリーズ、ラグボール、いよいよフルカラーで登場! 日仏同時刊行!フランス・TAIFU COMICS社より12月発売決定!」というオビが付属!!

えーと、何だっけ?おお そうだ、これだ!COBRAの過去の話の一つ、ラグボールより ラグボール。
表紙は描きおろしだ。新作CG。

海賊コブラが銀河パトロールのドミニクより仕事を依頼されてラグボールの選手となり任務をこなして行くストーリー。
アニメーター並びにCG描きさんチーム並びにフルカラーCG漫画家志望さんチームは、是非買って読んでくれたまえ。 CGの限界に挑戦した男、寺沢武一先生の生き様を見よ!

まず、「セリフ」はキャラや背景に被る。一方、「考え事」はキャラや背景に半透明で被る。この違いはCGならではの物。うほ!

「過去の作品だ、読みたくない」なんて思わないで欲しい。レントゲン写真の実写版とか、ガラスへの被写体の写り具合とか、動きのあるイラストの見本とか、色々と寺沢武一技術を盗める超名作であ~る。

定価:本体1524円(税別)

この値段にモンクを言わないで欲しい。
先生だって1955年生まれで、とうに 50歳を過ぎていらっしゃるのに、過去に大病を患って大手術で命を取り留め「残る余生をどう過ごすか?」の判断で、「マンガを描く事を選んだ大人」であ~る。感動。

先生の中では、「きっと、コブラは、こんな別れ方をするだろうな・・・。」というイメージがあるという。

どんなんだ??まあ良い。COBRAは、不死身だ。二代目寺沢武一になっても、CGマンガを続けていって欲しいと思う今日この頃。

敬白。




どうでも良いが、FC2さん、レビュー機能が働きませんよ?
FireFoxはコケるし、IEでもコケるし……。手動で書いちゃった…………。(^^;;;



関連記事

[edit]

CM: 0
TB: 0

page top

[OVA] COBRA - THE PSYCHOGUN 1、2、3、to 4 

2009/07/13
Mon. 13:00

何年も前の作品を、寺沢先生自らプロデュースしてOVAが完成したのが去年の話。
その前に、このストーリーのフルカラーマンガが好評発売中。

男の子諸君は、この作品を 是非 見て欲しい。マンガでもアニメでも許可。

COBRAはカッコイイ!!

COBRAを観て、「懐かしい」と思ったアナタ、もう大人なんですよ………。


コブラ -ザ・サイコガン- 1 <通常版> [DVD]コブラ -ザ・サイコガン- 1 <通常版> [DVD]
(2008/08/29)
野沢那智榊原良子

商品詳細を見る


コブラ -ザ・サイコガン- 2 <通常版> [DVD]コブラ -ザ・サイコガン- 2 <通常版> [DVD]
(2008/10/24)
野沢那智榊原良子

商品詳細を見る


コブラ -ザ・サイコガン- 3 <通常版> [DVD]コブラ -ザ・サイコガン- 3 <通常版> [DVD]
(2008/12/21)
野沢那智榊原良子

商品詳細を見る


コブラ -ザ・サイコガン- 4 <通常版> [DVD]コブラ -ザ・サイコガン- 4 <通常版> [DVD]
(2009/02/27)
野沢那智榊原良子

商品詳細を見る




特別付録 : 寺沢先生のホームページへのリンク
ブイチ:コム

このホームページ内の検索エンジンで、「30th」を検索すると、
『SIDE STORY OF COBRA』というのにありつきます。

「バラ」 と 「魔法の船」 の 2作品


懐かしのCOBRAのカラーマンガが無料で読めますが、
マンガとかOVAとかは買って見て欲しいですな。

COBRAが 気に入ったら、
応援のファンレターを送ってみましょう。
いいことあるかも。




関連記事

[edit]

CM: 0
TB: 0

page top

COBRA 『タイムドライブ』 

2009/07/14
Tue. 06:47

COBRA タイム・ドライブ (MFコミックス)COBRA タイム・ドライブ (MFコミックス)
(2009/04/23)
寺沢武一

商品詳細を見る


【 この商品へのレビュー 】

COBRA「タイムドライブ」フルカラーCGコミックス


アーマロイド・レディが生身の人間だった頃の話が解かります。
コブラ復活記念に、寺沢先生がどうしても出版しておきたかったのでしょうね。

コブラは、レディの体に起きている異変に気付き、「シェラザード」という女性の下へ行った。そして、『時間潜水(タイムダイブ)』を依頼する。
今回の物語の冒頭です。

まず、コブラと生身のレディが行なっていたことが、「渡り本」という鳥(本)に全て書かれていた、という事実。

レディ:「見て私の本よ……そして あなたのも……」
     「10年前の事も昨夜の私たちの事も……みんな書いてあるわ…」
コブラ:「子供には読ませられないな…。」

(おい、何やらかしたんだよ、コブラっ!www)


その「渡り本」は、それぞれが 人の一生の記憶を秘めて全宇宙を旅する…。

そんな中、レディは銃撃戦で深手を負ってしまう。
コブラは医者に助けを求めるが、その医者はこう言う…。
「『生命金属(ライブ・メタル)』との同化…精神はそのままで新しい体に再生させる事が、唯一の助ける方法である」と。

コブラは拒否し、レディの「渡り本」を捕まえ、読んだ…。


           黄昏の惑星にて

美しい湖…美しい森…そしてこの世で最も信頼する男…わたしを「レディ」と呼ぶ海賊に見守られて わたし、エメラルダ・サンボーンの旅は終わりをつげる


愕然とするコブラ。何気に東へ目を向けると、医者と女性が立っていた…!!
良く見ると、生命金属と同化したレディだった。

再開する二人…………。

コブラ:「その体で…いいのか」
レディ:「かまわないウエストのサイズは元のままよ」


渡り本が飛び立った。

こう記述して…。


             第2章

青く輝くライブメタルの体、新しい命を得てわたしはアーマロイド・レディとして生まれ変わった。また新しい旅が始まる。海賊コブラと共に宇宙の果てまで冒険の旅へと出てゆくのだ

                                    続く…


だが、レディの体に起きている異変とは関係の無いことであった。

シェラザードと一緒に時間潜水したコブラは、昔、レディと初めて出会った場所へ辿り着いた。レディは、サンボーン公国の王女、エメラルダ姫であった。
その頃は、ギロスという悪党が、悪さの限りを尽くしていて、誰にもヤツを仕留める事など出来なかった。

そこには、過去のコブラが居た。

時間潜水してやって来たコブラは、打倒ギロスに失敗して捕まったレディを助ける。

レディ:「あなたは……?」
コブラ:「オレはジョー…ジョー・ギリアン」


何とか、安全な場所へ避難したコブラとレディ。

レディ:「ジョー・ギリアンだったわね。あなた何者なの?なぜ私を…?」
コブラ:「オレの本当の名はコブラだ。君を助けるために未来からやって来た……。信じないかもしれないが…」
レディ:「そうね、信じないわ」


話をしていると、暗殺部隊がやって来た。

コブラは、「自分と関わりがある女性は皆、死んでしまう」と嘆いたが、「レディは…レディだけは必ず守ってみせる!」と言う。レディは、そんなコブラに自分の運命を感じた。

過去のコブラは、不気味な笑みを浮かべている面を被った「魔二童(マニドウ)」を倒す。ヤツはこういう事を言っていた…「オレの体には、帰巣装置がついていて、危なくなれば一瞬にして城に戻してくれる」と。

過去のコブラは、魔二童を倒した後、宝物殿へ行く。
すると、生身のレディと初めて出会った!!
眠っているレディにキスをするコブラ…。
レディは目を覚まし、彼がコブラだと気付く。

すると、暗殺部隊とギロスまでもがやって来た。
レディを人質に取られた過去のコブラだが、「時間潜水してやって来たコブラ」が、はるか遠くの山の上からギロスの頭目掛け、サイコガンを放った。

コブラは気付いた。「そうか、あれは…オレだったのか」

ギロスは死ななかったが、間一髪でコブラとレディは脱出する。
そこで、コブラは全てを思い出した。


………。

シェラザードに介抱されて目が覚めたコブラ。
コブラが目覚めると、レディは消えていった………。

シェラザード:「レディが消えた…!?」
コブラ:「心配ないさ…彼女の居場所はわかっている」

かくしてコブラは、レディの居場所を突き止め、何故レディが消えたのか、ギロスはどうしているのか、等が描かれ、ハッピーエンドで終わります。

時間潜水したコブラが 未来から来たコブラ、とかいうのはターミネーターっぽい話ですな。


過去のフルカラー版6巻目を持っている人は、どこのシーンが違っているか、よーく調べてみると吉。


特別付録 : 寺沢先生のホームページへのリンク
ブイチ:コム

関連記事

[edit]

CM: 0
TB: 0

page top

[OVA] COBRA - タイム・ドライブ 

2009/07/14
Tue. 07:01

コブラの相棒、アーマロイド・レディが生身の人間だった頃の話が分かる物語。
何故アンドロイドになったのか、が分かります。
イケメンだった頃のCOBRAも登場します。

このストーリーのフルカラーマンガが好評発売中。

男の子諸君は、この作品を 是非 見て欲しい。マンガでもアニメでも許可。

COBRAはカッコイイ!!

COBRAを観て、「懐かしい」と思ったアナタ、もう大人なんですよ………。


コブラ タイム・ドライブ VOL.1 特別版 [DVD]コブラ タイム・ドライブ VOL.1 特別版 [DVD]
(2009/04/24)
野沢那智榊原良子

商品詳細を見る


コブラ タイム・ドライブ VOL.2 特別版 [DVD]コブラ タイム・ドライブ VOL.2 特別版 [DVD]
(2009/06/26)
野沢那智榊原良子

商品詳細を見る





特別付録 : 寺沢先生のホームページへのリンク
ブイチ:コム

このホームページ内の検索エンジンで、「30th」を検索すると、
『SIDE STORY OF COBRA』というのにありつきます。

「バラ」 と 「魔法の船」 の 2作品


懐かしのCOBRAのカラーマンガが無料で読めますが、
マンガとかOVAとかは買って見て欲しいですな。

COBRAが 気に入ったら、
応援のファンレターを送ってみましょう。
いいことあるかも。




関連記事

[edit]

CM: 0
TB: 0

page top

全角文字表示ライブラリの解析。

ビットマップ描画の解説の前にやっておくべき事でした。ごめんなさい。

  ( プログラムの一部を見たい人の為に、「続きを読む」 に追加しました 。 7/14 )

まず、東雲フォント(しののめふぉんと)の文字を全部表示するプログラムの公開から始めます。
実行してみて、絵文字が存在する事を確認しました。ナイス!

図1  絵文字 その1 は、コード : 0xF89F to 0xF8FC にかけて存在。
絵文字 その1

図2  絵文字 その2 は、コード : 0xF940 to 0xF97E と、コード : 0xF980 to 0xF9FC にかけて存在。
絵文字 その2

図3  EU文字 なども存在します。
EU文字とか。


こういう絵文字などを表示させたい場合は、下記のように記述すると可能です。

例:自動車(コード=0xF8C0)、おにぎり(コード=0xF9EE)

       mh_print( x, y, "\xF8\xC0 \xF9\xEE", colo1, col2);

「自動車」の絵文字のコードは、0xF8C0 なので、"\xF8\xC0"が本体。
「おにぎり」の絵文字のコードは、0xF9EE なので、"\xF9\xEE"が本体。




『東雲フォント文字を全部表示しちゃうプログラム』のダウンロード
ALL_Shinonome_Moji.zip  309 KB (316,475 バイト)
ダウンロード
ソース付き / 実行ファイル付き / PSP-1000&PSP-2000対応)
(ソースのコンパイルには、全角文字表示ライブラリが必要)
ユーザーモードのEBOOT.PBPです
暗号化はしてないので、正規PSPでは実行不可能!(ぐは


今回のプログラムは手抜き作成です、ごめんなさい。

プログラムの一部を見たい人の為に、「続きを読む」 に追加しました。


【 関連記事 】
PSPプログラミング 全角文字表示ライブラリをダウンロード
PSPプログラミング [ 番外編 ] 日本語の文字 一覧表(ASCII & SHIFT-JIS) 完全版
PSPプログラミング 東雲フォント文字を全部表示しちゃうプログラム
PSPプログラミング 東雲フォントのデータ構造を調べました
PSPプログラミング 全角文字表示ライブラリ公開停止中のお知らせ
PSPプログラミング 『東雲フォント』が動画になった

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

[edit]

CM: 8
TB: 0

page top

全角文字表示ライブラリの解析。

大雑把ですが、解析してみました。

この記事は、知らなくても良い事を記述していますので、深く考えて混乱しないようにお願いします。
mh_print( );関数で 文字が書ける、という事だけ知っていればおっけーです。



東雲フォントのデータ構造は 至って単純で、文字の形があれば「1」、文字の形が無ければ「0」、という点の情報の連続で、この「1」と「0」を並べると、モノクロのビットマップの図形でした。

つまり、東雲フォントのデータ = 2色ビットマップ。

サイズは、
半角文字=ヨコ:6ピクセル×高さ:12ピクセル
全角文字=(左側半分)ヨコ:6ピクセル×高さ:12ピクセル、(右側半分)ヨコ:6ピクセル×高さ:12ピクセル

でした。

これを図におこすと、このようになります。


SHINONOME_SHARP.png

SHINONOME_NEKO.png

ここで、mediumgauge氏 製作の 全角文字表示ライブラリから「shinonomefont.c」というファイル(C言語のソース)を開いて見て頂きたいです。

まず、5行目。ここは、半角文字で「#」のデータが格納されています。16進数ですね。何でしょう?機械語でしょうか? 謎の9バイト・データ。

いえいえ、これは、文字のビットマップデータ:( )なのです。

ひも解く手段として、まず、2進数に置き換えます。

16進数 0x01,0x45,0x3E,0x51,0x45,0x3E,0x51,0x40,0x00
     ↓↓↓↓↓↓↓↓↓↓↓↓
2進数 0000 0001 0100 0101 0011 1110 0101 0001 0100 0101 0011 1110 0101 0001 0100 0000 0000 0000

んー、ますます解かりませんね(汗)。
でも、この2進数データを分解して 6ビットづつ並べると・・・。

2進数 000000 010100 010100 111110 010100 010100 010100 111110 010100 000000 000000 000000

↑↑ これですよ、これ。この2進数は、上の図の左側の数値列と同じですね。
この数値列の「1」を青色に、「0」を白色で、塗りつぶすと上の図の「#」の左側の絵になります。

解かりましたね。(^o^)ノ
「#」を構成する点の情報(ビットマップ)が、左から右へ、上から下へ、の順番に並んでいます。
この9バイト・データは、ヨコ:6ピクセル×高さ:12ピクセル=72ピクセル=9バイト・データ長だったのです。謎は解けたっっ(笑)。
これで、「#」についての解析は おしまいです。

次に、全角文字の場合。( )=シフトJISコードで 0x944C なので、3438行目を見て下さい。

>3438行目:/*944C*/0x95,0x72,0x59,0xAC,0xA3,0x9B,0xA8,0xA2,0xF0,
0x13,0xE2,0x08,0xF9,0x24,0xBE,0x49,0x2F,0x80,

まず、9バイト単位に分割します。
何故かと言うと、mh_print( ); という関数は、全角文字を書く作業の実態は、左側 ヨコ:6ピクセル×高さ:12ピクセル を書いてから、右側 ヨコ:6ピクセル×高さ:12ピクセル を書いている、という事実だからです。

だから、データも、
前半の9バイト=ヨコ:6ピクセル×高さ:12ピクセル → 全角文字の、左側半分
前半の9バイト=ヨコ:6ピクセル×高さ:12ピクセル → 全角文字の、右側半分
のように分割されている、という事なのです。

ゆえに、この18バイト・データを2進数に変換すると・・・。

前半:2進数 1001 0101 0111 0010 0101 1001 1010 1100 0101 0011 1001 1011 1010 1000 1010 0010 1111 0000
後半:2進数 0001 0011 1110 0010 0000 1000 1111 1001 0010 0100 1011 1110 0100 1001 0010 1111 1000 0000

これらも、モノクロのビットマップ画像なので、6ピクセル単位に区切って並べると・・・
前半:2進数 100101 010111 001001 011001 101011 000101 001110 011011 101010 001010 001011 110000
後半:2進数 000100 111110 001000 001000 111110 010010 010010 111110 010010 010010 111110 000000

これは、「猫」の図の右側の数値列と同一ですね、ねっ。
縦長で見づらいですね、ごめんなさい。

「猫」を構成する点の情報(ビットマップ)が、左右6ピクセルづつに分割されて、左から右へ、上から下へ、の順番に並んでいます。
この18バイト・データは、左側半分 ヨコ:6ピクセル×高さ:12ピクセル、右側半分 ヨコ:6ピクセル×高さ:12ピクセル=144ピクセル=18バイト・データ長だったのです。



で、文字データってナニ?という方の為に、解説します。
簡単に言うと、文字群の情報を、少ない情報量で分かりやすく表現したデータです。
つまり、半角文字は1バイトで、全角文字は2バイト、と、簡単に分類できます。
(ただし、2バイト長の半角文字もあったようですが、Windowsには2バイト半角文字は存在せず)

詳しく知りたい方は、「文字コード(完全版)」の一覧表をダウンロードして 解凍して 見てください。

それには、文字一覧表の左側に 2桁 or 4桁 の16進数が記載されていますね?
それは、該当の文字が 1バイト、もしくは2バイト、で表現できるデータである、という事を表し、ACIIコード(アスキーコード)や、シフトJISコード(シフトジスコード)等の文字一覧表として表現されます。

その一覧表を見ると、半角文字で「A」は 0x41(16進数) というアスキーコード番号である事が分かるかと存じます。同様に、全角文字で「亜」は 0x889F(16進数) というシフトJISコード番号である事が分かるハズ。

更に、バイナリエディター(テキストエディターに対抗して、文字以外の16進数データも全て扱える数値エディター)で、テキスト文書(拡張子.TXT)を覗いてみると、半角文字=1バイト長、全角文字=2バイト長、で延々と書き連ねられている、という事が分かるかと存じます。

昔のパソコンでは、テキストV-RAMというメモリが存在して、そのテキストV-RAMに、例えば1バイトの 0x42(16進数) というデータを書き込めば、画面に「B」という半角文字が表示されました。
昔のパソコンでは、文字のフォントは、ROMで用意されていましたので、フォントの事を気にせずに文字をバンバン書き込めたのです。しかも、1文字が1バイト。
その1バイトの情報が、ASCIIコード であり、テキストデータの原理(?)であったのです。
同様に、全角文字は、2バイトの情報で、シフトJISコードが一般的でした。

これ以上、つまらないハナシをしても無駄なので要約すると、文字は、1バイト長、もしくは2バイト長、のデータとして扱える、という事を覚えておいて下さい。


全角文字表示ライブラリは、東雲フォントの文字を描画する事が目的です。

している事は、簡単に解説しますと、文字のコード番号を読み取って、その文字に対応するフォントデータのアドレス(番地)を割り出して、フォントのビットマップ情報に従って、指定された色で 点を打ったり点を打たなかったりして1文字ずつ文字を描画しています。

Windows や PSP にはテキストV-RAM が存在しないので、グラフィック画面に絵を描く原理で文字を描画しないと、文字が書けない、という事実も覚えておいて下さい。
その為の、全角文字表示ライブラリなのです。解かりましたか?

それでは、これで、東雲フォントのデータ解析についての講釈を終わります。

上にも書きましたが、もう一回書いておきます。
この記事の内容は、知らなくても良い事なので深く考えて混乱しないようにお願いします。
mh_print( );関数で 文字が書ける、という事だけ分かってもらえればおっけーです。



さあ、つぎに行こう!今回はダウンロード物は ありません。


【 関連記事 】
PSPプログラミング 全角文字表示ライブラリをダウンロード
PSPプログラミング [ 番外編 ] 日本語の文字 一覧表(ASCII & SHIFT-JIS) 完全版
PSPプログラミング 東雲フォント文字を全部表示しちゃうプログラム
PSPプログラミング 東雲フォントのデータ構造を調べました
PSPプログラミング 全角文字表示ライブラリ公開停止中のお知らせ
PSPプログラミング 『東雲フォント』が動画になった

関連記事

[edit]

CM: 2
TB: 0

page top

PSPプログラミング AA(アスキーアート)を考察 

2009/07/15
Wed. 08:14

【アスキーアート】
                            やつを追う前に言っておくッ!
                    おれは今やつのスタンドをほんのちょっぴりだが体験した
                  い…いや…体験したというよりはまったく理解を超えていたのだが……
         ,. -‐'''''""¨¨¨ヽ
         (.___,,,... -ァァフ|          あ…ありのまま 今 起こった事を話すぜ!
          |i i|    }! }} //|
         |l、{   j} /,,ィ//|       『おれは奴の前で階段を登っていたと
        i|:!ヾ、_ノ/ u {:}//ヘ        思ったらいつのまにか降りていた』
        |リ u' }  ,ノ _,!V,ハ |
       /´fト、_{ル{,ィ'eラ , タ人        な… 何を言ってるのか わからねーと思うが
     /'   ヾ|宀| {´,)⌒`/ |<ヽトiゝ        おれも何をされたのかわからなかった…
    ,゙  / )ヽ iLレ  u' | | ヾlトハ〉
     |/_/  ハ !ニ⊇ '/:}  V:::::ヽ        頭がどうにかなりそうだった…
    // 二二二7'T'' /u' __ /:::::::/`ヽ
   /'´r -―一ァ‐゙T´ '"´ /::::/-‐  \    催眠術だとか超スピードだとか
   / //   广¨´  /'   /:::::/´ ̄`ヽ ⌒ヽ    そんなチャチなもんじゃあ 断じてねえ
  ノ ' /  ノ:::::`ー-、___/::::://       ヽ  }
_/`丶 /:::::::::::::::::::::::::: ̄`ー-{:::...       イ  もっと恐ろしいものの片鱗を味わったぜ…

【 イラスト 】
Porunaref.png

いきなり何ですか?あなた2ちゃんねらーですか?と突っ込まれるような、有名なAA(アスキーアート)を貼り付けてみました。

全角文字表示ライブラリは、半角文字=よこ:6ピクセル×高さ:12ピクセル、全角文字=よこ:12ピクセル×高さ:12ピクセル、
の構成で、等倍フォントなので、AA作成には不向きです。

しかし、等倍フォントでもAAは出来るのです。
以下。



      Жж
       |
       |<)゜] ョ)))))))))))))) ))))))) 彡
       |
       |
       |<)゜] ョ))))))))) )))) ミ
       |
       |
       |< ))] ミミミミミミ 丶        彡彡
       |            ゞミ彡彡彡彡彡
       |
       | ____
  __   |/    \_
     \/|       \
      \|        \        ===============○
       |         \      ∠∠∠∠∠∠∠∠∠∠∠∠∠∠∠/ \\
       |                ∠∠∠∠∠∠∠∠∠∠∠∠∠∠∠/   \\
       |              ∠∠∠∠∠∠∠∠∠∠∠∠∠∠∠/     |\
       |               |             |      |



お題を付けるなら、『鯉のぼりのある風景』でしょうか。

全角文字表示ライブラリでは、こういう文字のアートが可能なのです。
更に、文字の描画位置は、よこ:6ピクセル単位、高さ:12ピクセル単位、でなくて、PSP画面(0,0)-(479,271) の範囲で自由に文字を描画できますから、固定文字枠ではない、という事です。
1ピクセル単位での描画座標の位置指定が可能なので、文字を重ねての描画も出来る。

↓↓ こんな描画が可能
DODODO.png
どうです?吹きましたか? 名付けて、「デスクトップ ドドド!」ジョジョネタ分かる人、限定。

ソースは書かなくても、想像できるっしょ。(^^;;;;;;;
次は、この「デスクトップ ドドド!」プログラムを作ってみる事にします。

関連記事

[edit]

CM: 0
TB: 0

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デスクトップ ドドド 改』 何気にリリース

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

[edit]

CM: 0
TB: 0

page top

ハイ、 『 PSPデスクトップ ドドド v0.1』 お試し版 の プログラムの解説です。

ソース&実行ファイルは、以下にあるので欲しい人はダウンロードしてチョ。
>> PSPプログラミング 『 PSPデスクトップ ドドド v0.1』 お試し版 リリース


処理の流れを簡単に述べますと、画面を深緑色に塗りつぶしてから、「ドドド」を書きまくっているのです。

では、詳しく解説します。

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

   ↑↑↑↑↑
この部分ですが、今まで記述しなかったのです。
CやC++では、使用する関数は、宣言をしてから書くのですが、使用している関数(サブルーチン)を、使われる逆順に ソースに記述してゆくと、関数の宣言をしなくても良い(省略できる)ので、今まで書かなかったのです。
今まで読みにくいプログラムを書いていてゴメンナサイ………。

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

int main(int argc,char *argv[])
{
   XVISetHOMEbutton();
// [HOME]ボタンのコールバック , [HOME]ボタンで終了可能
この関数の本体は、XVIpg.c に記述しています(見やすいように配慮)。
以降、【 [ HOME ] ボタンで終了を可能にする処理 】は、この関数で設定する事にします。

   XVIScrnInit(); // Gu初期化
この関数の本体も、XVIpg.c に記述してあります。
内容は、画面の初期化と 32ビットカラーモード に設定している、など、です。

   XVIScreenFrame(1,0); // 表示画面と描画画面を同じにする , XVIpg.c にあります
                 // 今回は、画面フレームは一つのみ、です
表示されている画面に落書きをするので、描画するフレームと表示するフレームを同じ(1枚のみ)にしています。

   disp_DoDoDo(); // PSP画面に「ドドド」描画 / 抜けるにはRトリガー押し
この関数を呼び出すと、Rトリガーが押されるまで、画面上に「ドドド」が落書きされ続けます(笑)。

   return 0; // この return命令 は実行されませんが、念の為に記述してあります。
}
何故 記述しているかというと、main の返り値を、int キャスト にしている為です。
int なので return 1 とか何か値を返す記述をしないと、コンパイル時に WARNING(警告) か、エラーのドッチか が出ます


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

void disp_DoDoDo(void)
{

   (略)
       Draw_Do();    //  'ド'を一文字 描画
この関数にて、ようやく一文字の「ド」が描画されます。

        XVIWaitVn(6);   // 6/60秒 = 0.1秒ほど 待ちます
PSPの画面に色々書いて速攻で表示させるプログラムを作ると、画面がチラつきますね?
チラつく理由は、画面表示のタイミングがとれていないからです。

テレビやパソコンの画面やPSPの液晶画面は、1/60秒ごとに1回、更新されます。その際、垂直同期信号という信号が発生します。
垂直同期信号というのを待つとタイミングがとれますので、垂直同期信号を待ってから画面を切り替えるとチラつかずに画面が切り替わります。

更に、垂直同期信号を一回待つと、1/60秒待たされるので、ここでは6回待って 6/60秒 = 0.1秒の待ちをしています。

       XVIreadpad(); // ← パッド状態取得 , XVIpg.c にあります
この関数は、NesterJ のソースから拝借しました。けっこう使えますよ。

     if((now_pad & PSP_CTRL_CROSS) != 0) // もし×ボタンが押されたら
        XVIFillvram(DARKGREEN);    // 深緑色でPSP画面を塗りつぶし
この条件文は、マスターして下さい。各種ボタンの値は、mydef.h に書いておいたような?

   do
   {
       XVIreadpad();
   }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));
「ド」を書く文字の色を、乱数を使って設定しています。乱数については 下の方 参照の事。
乱数を256で割った余り(8ビット長)を R、G、B の値にして、24ビットカラーに変換して設定しています。

   color_Do &= 0xFFFFFF;
念の為に、シモ 24ビットカラー の値にしています(32ビット値の 上位8ビットをカット)

   x=(int)(_rand()%453)+20; //  この数値は適当につけました。今後変更の予定
   y=(int)(_rand()%235)+20; // この数値は適当につけました。今後変更の予定
「ド」を描画する位置をランダムにする為に、乱数を使います。座標(x,y)

   if(x<5) x=10;   // この辺は
   if(x>460) x=450; // 念の為に
   if(y<12)  y=18;  // 記述して
   if(y>250) y=240; // いるのさっ
画面からの はみ出しチェック(笑)。

   XVISetTextBGcolor(COLOR_TOUMEI);  // 文字の背景色を透明にします
初登場関数。全角文字表示ライブラリに追加した関数です。描画する文字の背景の色を設定する関数です。以前は、mh_print( ); の色2パラメータで指定していましたね。

   XVIprint( x ,y ,"┣",color_Do);    // ドの ト 部分
   XVIprint( x+8,y-6,"‥",color_Do);  // ドの 点々部分
}
「ド」を構成する文字。合わせる調整がめんどかったwwww

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

int _rand(void)
// ここで新しく、乱数を使います。乱数とは予想できない不規則な数値の事。
// でたらめな数値が欲しい時に使用します。
// _rand()を呼び出すたびに、色んな数値を返してきます。
{
この関数は、PSPにて乱数を生成する為のアルゴリズムを採用しています。
PSPSDK にある乱数 rand( ); は、float キャストでして、intキャストに変換出来なかったようなので、記述して使用しています。

   int xf; // 乱数更新用の変数
   rnd_seed+=xf+sceKernelLibcTime((void *) 0);
どうやら、PSPの時刻を参照して、乱数をいじるようだ。

   xf = rnd_seed / 45309;  // ← この数値が乱数生成に重要な役割です(テキトーな値だが)
割り算ですね。この【 割る値 】によって、ナイスな乱数になったり、チョンボな乱数になったりします。

   return xf;
}

はい、返り値は 32ビット長の乱数 です!



何か質問とかありましたら、カキコするがよろし。

つ……、疲れた…………。

ソース&実行ファイルは、以下にあるので欲しい人はダウンロードしてチョ。
>> PSPプログラミング 『 PSPデスクトップ ドドド v0.1』 お試し版 リリース


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

関連記事

[edit]

CM: 0
TB: 0

page top

今回は、便利なテキストエディターを ご紹介します。


PSP Homebrew開発をしていて、

      「あっ、エラー発生? 詳細は…??」

なんて時に、エラーメッセージがコンソール出力なので、テキストエディターを開いて 書き写してからブラウザで意味を検索…なんてしておられる方もいらっしゃるかと存じます。

そういう時に便利なのが、IDE などと言われる 「統合開発環境」 です(ちょっと意味が違うけど)。

PSPソフトの開発には、 【 外部コマンド実行機能付きでコンソール出力メッセージを取り込めるテキストエディター 】 で十分なので、今回はソレに合ったソフトウェアをご紹介。



Apsaly(無料ソフトウェア)
軽快な高多機能の本格的汎用テキストエディタ( 2007年 窓の杜大賞 編集部賞)

ダウンロード
 apsaly300.zip ( Filesize: 1,926,551Bytes )
  http://www.vector.co.jp/soft/win95/writing/se423509.html

インストール方法
1.インストール先にフォルダを作って解凍します。
2.Apsaly.exe をダブルクリックで起動して、[ 設定 ] → [ 環境設定 ]をクリックします。
3.「設定対象(Q):」の下の[+外部インターフェイス]をダブルクリックして、「ショートカットの登録/削除」のチェックボックス部分にチェックマークを入れます。
4.[ 登録更新(U) ]ボタンを押すと反映されます。
5.作ったショートカットの名前を「PSPかいはつ」とか(覚えやすい名前)にすると おけ。
   ショートカット

  拡張子の関連付け以外には、レジストリは使っていません、との事。

使い方
1.ショートカットをダブルクリックで起動します。
2.[ ファイル ] → [ 開く ] で、ソースの在り処へ移動してからソ-スを開きます。
3.編集後、上書きして保存。
 (細かい事については README.TXTを読みましょう)

ビルドとは?
EBOOT.PBP を作成する事を、「ビルドする」、と呼ぶらしいです。
コンパイルとは、オブジェクトファイルを作成する作業です。
リンクとは、オブジェクトファイルを結合して、EBOOT.PBP を作成する作業です。

ですから、コンパイルからリンクまで通して作業させる事を、ビルドと言いましょう。

ビルド方法
Apsaly の [ ツール ] → [ 外部プログラムの実行 ] をクリックします。
↓↓ こんな風に設定して下さい。

[実行コマンド]には、make.exe を起動するためのバッチファイルを指定します。
ここでは、!__ビルド.bat というファイルです。

設定し終えたら、[ 実行 ] ボタンを押してください。ビルドが始まります。

今まではコンソール出力の画面でしたが、Apsaly が(標準出力)というタブを作り、そこへ内容が出力されます。
↓↓ こんな風に (クリック拡大して見てください)。
ビルドとメッセージ


ビルドまで試して下さい。
便利でしょ?今まで書き写していたエラーメッセージが、コピペ可能になりました。

再度ビルドする作業は、 [ ツール ] → [ 外部プログラムの実行 ] → [ 実行 ] で出来ます。ラクチンです♪

こういう機能があって、フリーウェアな Apsaly は、是非お勧めしたいソフトウェアです。
是非、導入してみて下さい。


このテキストエディターは、Windows用 Borland C++ Compiler などにも利用可能です。

関連記事

[edit]

CM: 0
TB: 0

page top

北斗の拳 FLASH EDITION V1.3 

2009/07/20
Mon. 12:18

ブラウザで遊ぼう!

対戦格闘ゲーム

北斗の拳 FLASH EDITION V1.3



クリックで飛びます




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

[edit]

CM: 2
TB: 0

page top

PSP : PC-9801エミュレータ NP2 

2009/07/23
Thu. 01:10

2011年6月24日 更新。

HBL_ICON0.jpg
このエミュレータは、署名済みHalf-Byte Loader R113 から起動させると公式PSPでも動作できます

先日リリースされたばかりのカスタムファームウェア 5.50 MHUにて、『NP2』(PC-9801エミュレータ) が起動しない事が判明しました。

NP2 を起動させようとすると、「ファイルが壊れています」と表示されるのです。ぐはっ、他のPSP Homebrewでも似たような事になりそうでしたが、駄目CFWのレッテルを貼ったまま CFW5.50 MHU から CFW5.50 GEN-B にアップデートし直しました。(^^;;;;

で、この NP2 は ユーザーモードで開発されたようで、CFW5.50 U3R-A や PSP-2000 や PSP-3000 でも起動可能だと思われます。CFW5.50 MHU でない限り起動する、と。
(今回は、PSP-1000&CFW5.50 GEN-Bで動作確認しました)

そこで今回の記事は、NP2 についての解説をします。

これがウワサの NP2 だッッッ!!
これがウワサの NP2 だッッッ!!
↑↑ このPSP壁紙は、 カブトムシの唐揚げ( 様からダウンロードして使用しております。


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

[edit]

CM: 2
TB: 0

page top


h o m e |


 

2009-07