■よくある質問
Q−特定のアプリを333mhzに変更したいのですが・・・
A−PSP上で動くエミュレータでよく採用されていますので、
そちらのソースを見て活用しましょう。
Q−コンパイルが失敗するのですが・・・
A−開発環境の見直しをしてみましょう。
過去スレ(
http://game9.2ch.net/test/read.cgi/gameurawaza/1115721191/ )を参考にしてみてください。
Q−2chブラウザとか、MUGENとかまだー?
A−自分で作ってください。無理なら黙ってましょう。
Q−ネット接続対応まだー?
A−ネット接続は最近ようやく解析が進みだしたのでもうちょっと。
Q−開発に参加したいのですが、最新のまとめサイトってない?
A−APIの解析など、情報の更新が速すぎるため、
現在の状況に即したまとめらしいまとめというサイトはありません。
ココのスレがまとめになるかと思います。
また、開発されたソフトのソースもぜひ参考にしてみてください。
5 :
名無しさん@全板トーナメント開催中。 :2008/06/09(月) 09:19:27 ID:9EdnEgbE
初めてこのスレに来たから良くわからないけど乙!!
過去ログって保存しないんだね。 グーグル先生にキャッシュさせる場合どう検索すればいいんだろ? 検索でヒットするのって途中のレスまでしかないキャッシュだったりすんだよな・・・
自作ライブラリをprxとして外部に置いてあって自作プログラムから pspSdkLoadStartModuleで起動させる場合に PSP_MEMORY_PARTITION_KERNELとPSP_MEMORY_PARTITION_USER の違いでprxにできることできないことが発生するんでしょうか?
prxに出来ないのはどっちのプログラムですか pspSdkLoadStartModuleで呼ばれる側ならpspSdkLoadStartModuleはまったく関係ありませんし pspSdkLoadStartModuleを呼ぶがわならprxにする必要性はありません この程度のこともちゃんと理解してないというなら、 サンプルコードを自分の環境用にmakeするところから 練習したほうがいいでしょう PSP_MEMORY_PARTITION_KERNELとPSP_MEMORY_PARTITION_USERの違いや Makefileに記述するのオプションの意味なども調べるとこの問題を解く手がかりになります
>>8 >prxに出来ないのはどっちのプログラムですか
すみません、質問の仕方が悪かったようで・・・
prxではない自作アプリの場合カーネルモードでは使えて
ユーザーモードでは使えない関数があると聞いていたので
prxでも同じことを考慮する必要があるのか心配でした。
後PSP_MEMORY_PARTITION_KERNELだとロードできる
prxのサイズも気にしたほうがいいのかなと。
で、やりたかったことは全スレのprxをwindowsのdllイメージで使うことです。
そこまで具体的に問題がわかってるなら試してみたほうが早いよ 試してみて出来ないから方法があるのか知りたいならソースをさらしたほうがいいし ソースをさらすならps2dev forumで聞いたほうが早い
なんという宣伝…これは間違い無く株主 でも便利だからおk
13 :
9 :2008/06/10(火) 23:04:53 ID:yIeRoYKu
>>10 サンクスなんとか自力で第一弾のprx出来上がったよ。
>>13 具体的なアドバイスは何もしてないけどなー
完成したら是非公開してくれ
>>14 公開っていってもそれほどでもないんだけどね〜
どういう風に公開したらいいんだろ?
ソースを固めてうpするだけで、だいぶ感謝される気がする
期待してるぜ
GUで画像の回転を実装させるにはどうすればいい?
>>18 うーんいろいろ
単純に90度という荒い回転ならintでもできる。
処理にSDL使って画面の転送にGU使うって方法があるっぽいが俺にはよくわからん
うーん テクスチャ有りの3Dモデルにライト当てるのがうまくいかねー
起動するゲームを選ぶときのアイコンと背景の画像を 自作のものに入れ替えるサンプルってないかな? 一折サンプルプログラム見たんだけどないみたいだし…
Makefileに PSP_EBOOT_ICON = ICON0.PNG これとかの事?
EBOOTを直接書き換えるってことかな?
ごめん、そこまでたどり着いてない 変換いるんだと思ってたんだけど、PNGでいいの?
すでに出来上がってるゲームのEBOOT.PBPの
画像を差し替えとかはツールでできるよ。
自作アプリの場合もアイコンと背景は
>>23 のような方法で追加できる。
何だか前スレ辺りからスレの水準が急激に下がってるけど、何があった?
SDLとか使っちゃってるなんちゃってプログラマ(笑)さんは消えてくださいね って人ですか? 色んなところでSDKのインスコ方法が書かれたから厨共が遊んでるんだろうよ
そうか? 詳しく解説よろ
>>29 は
>>27 にね
まー日本語で解説してるサイトって情報が古かったり
Gu使い込むようなレベルの解説がなかったりするからなあ。
その割りに
>>28 環境構築方法だけ解説してそれっきり
になってるブログなんかが多いからとりあえずやってみた
程度のプログラマもどきが多いんだと思う。
時間とハードディスクの容量の無駄だし、PCつけっぱで地球に悪い
なんでこんなに精神年齢低い子が沸いてるの
>>28 それ言ったらDirectXとか、Guとかもライブラリだよなwww
本当に1からライブラリ使わずにやってるやつなんていねーw
VBもMASMも高級言語だよなwww 本当に1からコンパイラ使わずにやってる奴なんていねーw こうですか?
開発するのに、まずなにからやったらいいか分からん まずC言語覚えるのか? 日本語覚えろとかじゃなくマジレス求む
なんか荒らしが多いと
>>35 のようなまともそうな質問すら
釣りに見えてくるなw
ますます日本の開発コミュが過疎っていく感じw
>>35 本気レスするけどFORTRANの勉強してくらはい
マジレスすると C言語でWindowsのプログラミングやったことないやつは無理 Hello, wolrdとかじゃなくてWindows APIを使った奴な その後は適当なLinux機準備して、今度は普通のコンソールでいいから ふっと思ったものをとりあえず作る 出来なくても出来るまでやる 一通り出来るようになったらPSP開発にいそしんでください そのころには2chなんて見なくて大丈夫
>>35 まずはUbuntuをインストール。次にコマンドとシェルスクリプトを理解。C言語はその後だ。
普通にCからやっても問題ないけどな
システムコールバック周り考慮しなくて良い分、Winよりはずっと楽だと思うけどな。 DOSでプログラム書ければ十分だと思う。
>>35 俺の場合、DOS時代からプログラム組んでたから、Linuxの経験は皆無だったが、
すぐにCygwinの環境には慣れた。コンソールの経験はあったほうがいい。
後はC覚えてWindowsでAPI呼び出すプログラムを勉強する。
そうするとOSと自分のプログラムとの関係が見えてくる。
ここまでくれば開発環境の構築や、簡単なツールの作成程度なら余裕だと思う。
頑張れば3ヶ月くらいで到達すると思う。がんばれ
devkitpro使ってるんだけど、あれとcygwinと違いってある? 個人的にはVCと連携できるからこっちの方がいいんだが…
>>33 そのへんのもの使わなくても自前で頂点演算すれば3D描画なんて出来ますが何か
できるかできないかじゃなくて、 使わない奴がいるかいないかだろ
>>44 3Dエンジンを自作するんですね、わかります。
3D表示そのものは割りと簡単にできるんだけど 問題はアニメーションをどうするかとかじゃね?
わざわざ自分で実装する必要は無いよね 最低限の労力でいいものを作るのも能力のうちでしょう
PSPの非公式開発でそんなライブラリあったっけ?
>>48 はそのライブラリの存在は知ってるようなので
是非PSPの自作アプリで3Dを使ったゲームを
出してください
>>49 俺は3Dのことについてレスしてるわけじゃないんだが
なんでそんなに必死なんだ
いや流れとしては3Dは表示できるけどアニメーションが問題だよね
と話が終わってたところに
>>48 の話がでてきたのでてっきりアニメーション
をサポートしたライブラリでもあるのかと思っただけ
別にライブラリになっている必要なんてないし OpenGLなら腐るほどアニメーションするためのサンプルあるだろうと あ、もしかして釣りだった?
リアルで嫌なことがあったんだろうよ アホはほうっておけ
そんなことよりSDLをGUで高速に描写するように改造する作業に戻るんだ
ちょっとサンプル見ていて思ったんだけど sceGuGetMemory ってVRAMから取るmallocなのかな? それにしてはfreeにあたる関数が無いみたいなんだけど… なんかの関数呼んだら自動的にリリースされているって考えていいの?
sceGuGetMemory.cというソースがあると思うので中身見てみるといいよ。 たぶんGu使うソースにはかならずある16バイト境界のlistの中から 使う分確保してるだけのような感じ。
>>56 sceGuFinish( )でgu_listは初期化される
3.xx用のhomebrewを作成中なのですが、 pspSdkLoadStartModule("flash0:/kd/audiocodec.prx", PSP_MEMORY_PARTITION_KERNEL); ここでクラッシュしてしまいます。 どうすればよいのでしょうか
クラッシュって?
このコードを入れずにコンパイルしたときは、普通に稼動するのですが、 このコードを入れると、そこで実行がストップしてしまい。HOMEボタンのコールバックも発生せず固まってしまいます
3.xxだとaudiocodec.prxやvideocodec.prxは使えないのでsceUtilityLoadAvModule()を使う はず
intraFontのサンプルにsceGuDrawArrayでポリゴン描画しようとすると なぜか表示されないです intraFontPrint_sjisを抜くと表示されるんで、こいつが悪いんだろうけど、 中のソース見てもどういう風に競合しているのかさっぱりです 誰か回避方法知っている人いますか
知ってるけど教えない
65 :
63 :2008/06/18(水) 20:52:28 ID:OJNizyRL
自決しました
もしかして聞いちゃいけないの?
expファイルの PSP_EXPORT_START(modtest, 0, 0x4001) を PSP_EXPORT_START(modtest, 0, 0x0001) でOkかなあ・・・
あーすまん
>>69 は忘れて
何をやってるprxかと思えば・・・
prxの仕様が変わった(らしい?)というのはちらっと過去スレでみたことあるけど
pspDebugSioGetchar()がカーネルモード?でないとだめっぽいのでそれが原因なのかな?
prxをカーネルメモリに読み込む仕様に直したら動いたよ。
レスありがとうございます。 pspDebugSioGetchar()を入れないでコンパイルすると、 なぜか Error, no .lib.stub section found というエラーが出るので、使わない関数の中につっこんでました (エラー後にもう一度makeすると、一応はprxファイルが作成されるみたいです) SceUID mod = pspSdkLoadStartModule(modpath,PSP_MEMORY_PARTITION_USER); を SceUID mod = pspSdkLoadStartModule(modpath,PSP_MEMORY_PARTITION_KERNEL); に変更してみましたが、 依然として動きません… 他にカーネルメモリに読み込ませるのに必要な動作があるのでしょうか? また、それならばと思い、pspDebugSioGetchar() を使わないようにして、実行してみましたが、 これもなぜかエラーが出てしまいます。
>>71 いじったソースアップするよ。
それと気になったのが
getcwdで絶対パスを取得してprxをロードさせてるようだけど
そのパスがおかしいのかエラーになるね。
SceUID mod = pspSdkLoadStartModule(modpath,PSP_MEMORY_PARTITION_KERNEL);
を
SceUID mod = pspSdkLoadStartModule("./modtest.prx",PSP_MEMORY_PARTITION_KERNEL);
としないと修正をかけたprxもロードできない。
>>63 競合じゃなくて、ポリゴン描画に必要な一時メモリが足りないから。
× static unsigned int __attribute__((aligned(16))) list[32767];
○ static unsigned int __attribute__((aligned(16))) list[262144];
必要なだけ増やせば良いと思うよ。「intraFont Version 0.22」もお忘れなく。
ネットで調べながら PSPで自作ゲームを作ろうとしているんだが 古い情報と新しい情報が混ざっていて 何が正しいのかわからないなぁ。
>>72 言われた通り、相対パスで記述したら、無事読み込まれ動作しました。
getcwdを使って取得した絶対パスは、内容的に間違ってはいないようなのですが、
どうも相対パスでないと受け付けてくれないようですね
本当にありがとうございました。
もしよければ、カーネルメモリに読み込ませるのに必要な動作が知りたいので、 いじったソースをアップしていただけませんでしょうか?
ありがとうございました。 今までCに触れたことがあまりなかったのですが、 return 0;だけでは問題が起こるのでしょうか
>>74 サンプルソースをどこかで見つける
doxygenでドキュメント作成
しかないかなあ。
個別のわからないケースはここで聞けば
答えもらえる可能性もあるけど
>>78 私もPSPの開発とかはぜんぜん詳しくないので
まさかreturn 0だけだと最適化でmodule_startとかが
不都合な形になってて読み込み失敗してるのかな?
という不安を排除したかっただけです。
まあ原因は絶対パスだったんでしょうけどw
なるほどw いやあ、ありがとうございました。 makefileの書き方参考にさせてもらいます。 毎回clean oldうんたらって出るのに困っていたのです><
>>81 最近丁度、prx関連を勉強してただけなので
あああああああああああああ ちゃんと sceUtilityLoadAvModule(PSP_AV_MODULE_AVCODEC); sceUtilityLoadAvModule(PSP_AV_MODULE_ATRAC3PLUS); でモジュールロードしてるはずなのに、sceAtracSetDataAndGetID で Library is not linked yet.(8002013a)がでるうううううううううううううううううううううううう
なんかpsputility_htmlviewer.hとか増えてるんだ 久しぶりにアップデートしてみる
GAME393フォルダに置いたら普通に動いた
windows用にSDLを利用してCでゲームを作る ↓ PSPに移植 動作が遅ければ、画像処理はSDLを止めて、GPUに直接書き込みにいく処理にする な考えで合っている?
そういう方法もあるし、直接Cで最初から作る方法もあるでしょ
質問 # define BSWAP16(B)\ ({\ u16 _B = (B);\ (((u16) ((_B) << 8) | ((_B) >> 8)));\ }) って u32 BSWAP16 (u16 *p) { return (p[0] << 8)|(p[1] >> 8); } って事? プロの解答求むo...rz
>>88 この間教えてもらった知識レベルで回答すると・・・
># define BSWAP16(B)\ ({\ u16 _B = (B);\ (((u16) ((_B) << 8) | ((_B) >> 8)));\ })
これはマクロの記述でソース書く際は関数のように記述するんだけど
コンパイル時はインライン展開されるそうです。
で
>u32 BSWAP16 (u16 *p)
なんで戻りが32bit?
やってることは_Bを8bit左右にシフトした常態の物を論理和だから
単純に16bit幅のデータを上位8bit下位8bitの入れ換え(SWAP)
ってことじゃないのかな?
ってかそのマクロやりたい事分かるけど何の意味も無くない? スワップした後の値どうするの
>>90 ものすごく手抜きだけどやってることはこれだけでしょ
_BLTH = B << 8;
_BHTL = B >> 8;
B = (_BLTH | _BHTL);
Bに0x7F89という値が入ってるとして B << 8 をやると 0x8900 となる B >> 8 をやると 0X007F となる で両者の論理和なので0x897Fができあがる。
>>91 マジレスするとビッグエディアンとリトルエディアンについて検索しる
通信やファイル操作関係ではその二つの違いを吸収して実装しないといけないんだよ
インテルCPUだったら AX にデータが入ってると仮定して BX に AX を代入 AH に AL を代入 AL にBH を代入 で終わるんだけどね
>>88 プロが答えるが、そんな馬鹿なマクロは作りも使いもしない。
BSWAP(*ptr++);
ができないではないか。
>>94 いやいや、展開すると
{
u16 _B = (B);
(((u16) ((_B) << 8) | ((_B) >> 8))); // ここ
}
やりたい事は分かるよ
>>95 そういう風にコンパイラが最適化してくれないのかな
環境依存と言われたらそれまでなんだが
>>96 横槍でもうしわけないが
折角だからプロの実装を教えてくれ
>>98 たしかに B =
が抜けてるね
早とちりすまん
つーかさ #define部分だけ持ってきてあれこれ言っても仕方ないような・・・
__builtin_allegrex_wsbh
>>95 インテルCPUのアセンブラなんて10年以上、さわった記憶がないが、
AX にデータが入っていると仮定して、
XCHG AH,AL
で解決できるんじゃなかったっけ?
>>99 インライン関数にするだけだよ
inline unsigned short bswap(unsigned short src)
{
return ((src & 0xff) << 8) + ((src >> 8) & 0xff);
}
>>103 ビット演算に「+」を使うのが気持ち悪い
フツー「|」にしねぇか?
通信周りはまだ見てないんだけど、htonsとかhtonsとかないの? で、話は変わるが時刻を取得する関数が欲しいんだが、どうすればいいかわかる? 普通に取ると標準時が帰ってくるから困ってる オワタブラウザを見たんだけど、あれも+9しているし CWCheatやPSP-HUDはちゃんとした時刻が表示されるんだよな もしかして、prxならちゃんとした時刻が取得できるだけかな?
2回言うつもりじゃなくてntohsの間違いね devkitPSP\psp\include\netinet\in.h ここにあるな なんかのヘッダファイルをincludeすれば使えると思うよ
int sceRtcGetCurrentClockLocalTime(pspTime *time); じゃだめ?
純正のUSB GPSかUSB MICを動かすサンプルってないかな ライブラリを自分でコンパイルしないとダメっぽいんだが うまいこといかない
>>107 thx!!
なんかそれでいけそうだな、ちと使ってみる
このWavライブラリ、ソース見る限りは便利だな
これってローグ風のゲームサンプル?
あなた方の交わしてる文字が宇宙言語にしか見せないけど すごくワクワクするな このスレ
>>115 spriteは90度単位なら回転できるよ
>>116 90度単位じゃダメなんだよね(´・ω・`)
細かくぐるんぐるん回転させたいから。
テクスチャ表示する前に
sceGumRotateZ(valueInRads);//ラジアンを引数?
とすればいいのか
面倒だけど、自前で4頂点指定するしかない?
>>117 それlibgum使ってないと駄目じゃね
>>117 SDLとか便利なライブラリがたくさんあるんだからそれに頼るのもいいと思うよ
前に誰か言ってた気がするけど、機能をライブラリで実装する分ソフトの中身に力が入れれる
>>123 もっさりにならないか心配だけどやってみるよ
>横幅64128ドット?までです。 64は横棒で消えてる
>>126 余裕で需要あるが…
どう動くかわからんからソース欲しいんだよね
>>128 需要あれば公開するって言ってるんだし、凸してみればいいじゃん。
簡単なjpgファイルの再生方法(ソースコード)持ってるヤツ... 是非ともうpしてはくれまいか...
ps2devのフォーラムで検索しろよ
jpeglibにサンプルついてるじゃん それでも出来ないなら処置なし
PSPの内蔵フォントってベクターフォントだっけ? ビットマップフォントだっけ?
え... どこにですか...?
ふー ベクターフォント作りかけで挫折・・・orz 作業が多すぎる。 メモリ使用量も少なく速度も速いんだけど、フォントデータを起すのがしんどすぎる・・・
prxの人ソース晒してくれんかなぁ・・・ とここで言ってもしょうがないから恥承知で聞いてくる
そんなに知りたいことあるか? そこそこサンプル触ってれば出来ることがprxになってるだけのような気もするが。
どうしても画像回転拡大縮小がわからん サンプル見てもわからんがな
折角ライブラリになってるんだし使わせてもらったら?
pspglで楽勝でした
>>142 pspglの回転処理って3D向けの汎用なので処理遅くない?
俺も画像の回転させたいけどサンプルとかひっくり返してもよくわからんかった。 結局どうすりゃいいんだ? 3Dとかいじってないとわからん領域なのかね
高校の数学できてりゃ楽勝なはずなんだがな
>>143 「3D向けの汎用」みたいに中身を詳しく知ってるなら遅いか遅くないかくらい分かるだろ?
「遅くない?」 ってのは遅いか遅くないかわからないから聞いてるんじゃないだろ
>>147 だなあ
むしろ「そんなの使っててゲームとして処理速度は大丈夫なの?」
ということじゃねーの?と思った。
149 :
名無しさん@お腹いっぱい。 :2008/07/02(水) 23:35:25 ID:fSzeeuJk
処理速度の問題は「グダグダいわずまずはやれ」でFAだと思う
151 :
名無しさん@お腹いっぱい。 :2008/07/04(金) 23:27:33 ID:Q/kGFemu
CFWのグローバルステート機能実装記念に、誰かXMB代わりのアプリケーションランチャーを作ってくれないかなぁ XMBは大量のアイテム管理に不向きだし、かといってプラグインなどによるアイコンハックや現存シェルアプリも微妙 eLoaderの外観と機能をベースに、hombrewSorterのソート機能やMyPspMenuみたいなタグ管理が出来るといいな それに加えてホットキーまで個別に設定できたらもう最高
といってみる
ホットキーでのランチャーならプラグインとして既に出てるな
155 :
名無しさん@お腹いっぱい。 :2008/07/09(水) 01:31:08 ID:ENWT6kWM
新型用のテキストエディタまだー?
GUで高速描写するSDLまだー?
ソニー自作アプリ開放まだー?
>>158 自作アプリを開放しないと、iPhone系に負けてしまうよ。
愛ぽんじゃモンハンでないから大丈夫じゃね?
GUでのswizzleのやり方がよく分からないです。 サンプルのblitなどをみてもsliceはできるものの、swizzleだけは何度やっても失敗してしまいます。
162 :
定期保守@ ◆S.ZE//8Pfs :2008/07/16(水) 20:48:36 ID:3Lxv4amM
あげ
セーブデータを弄るツールを作っているのですが、上手くいかなくて困っています。 PSPSDKサンプルのdecryptを動かしたら、当然8002013Cのエラーになるので、 復号化する関数部分をカーネルモードのprxにして、 pspSdkLoadStartModule("MyPrx.prx", PSP_MEMORY_PARTITION_KERNEL); として戻り値を見ると8002013Cになっています。 chnnlsv.prxをpspSdkLoadStartModuleで呼んでから上の行を実行すると、 どちらのモジュールも正しい戻り値が得られるのですが…… 肝心のデータの復号化に失敗しているようです。 (Savedata En/Decrypterの復号化ファイルと比較しました。) 正しい大きさのファイルが作られているので、何か実行はされているのですけど。 ちなみに、gamekeyが間違っているとかいうオチは無いと思います。 1. 自前のprx(内部でchnnlsv.prxの関数を使ってる)を単独で呼んで8002013Cが返って来ているからprxがカーネルモードになってない。 2. 自前のprxの呼び方が間違っている。 3. PSPSDKサンプルのdecryptそのままでは復号化できない。 どれでしょう? どなたかわかりませんか?
定期保守
>>161 swizzleは単に描画アドレスのビットを入れ替えてるだけ。
8x8が単位みたいなので、512x512の場合
yyyyyyyyyxxxxxxxxxをyyyyyyxxxxxxyyyxxxに並び替えて配置し、
sceGuTexModeの4つめの引数を1にすればいいだけ。
167 :
名無しさん@お腹いっぱい。 :2008/07/26(土) 14:07:56 ID:Yyi9E7Zz
<<166 俺もswizzleイマイチわからん。 サンプルblit.c のswizzle_fast()がその説明通りの変換をするんだよね? 詳しく教えてくれたら嬉しい。 sliceは俺も出来た。それだけでも速くなりすぎてびっくり。
>>168 blit.cではGU_PSM_4444を指定しているので1画素2byte(16bit)
swizzle_fastの一番内側で
*(dst++) = *(src++);
を4回行っているが、dstとsrc共にu32で4byte(32bit)なので1回で2画素分転送。
4回で8画素分。
最後にsrc_pitchを足して、jのループで8回なので、縦に8画素分
これで8x8のブロックを転送。
あとはブロック転送をxとyでループさせているだけ。
確かにswizzleは早いが並べ替えとかを考慮するとどうかな?って感じ。
最初から8x8を考慮に入れてやらないと高速化は意外と難しいかも。
説明サンクス。少し前に
ttp://ameblo.jp/pspdevblog/ を見てsliceやswizzleの重要性に気づいた。
swizzleは以前からテクスチャ圧縮技術とかあるから、
さもありなんと思ったが、sliceは盲点だった。
最初に動かしたサンプルはblit.cだったのに・・・
171 :
名無しさん@お腹いっぱい。 :2008/07/31(木) 22:31:38 ID:Vl32JCcV
172 :
164 :2008/08/02(土) 01:58:52 ID:q6hve1wz
えらく長い間ハマってましたが、ようやく解決しました。 テストに使ってたセーブデータのゲームが新しかったのが原因でした。 PSPSDKサンプルのdecryptでは、最近のゲームで使われている形式に対応してないようです。 セーブデータの形式を確認してから、それに応じたパラメータで処理を行うようにすれば復号化できました。 encrypt側も同じようにパラメータを変えることで暗号化も成功しました。 自分で項目に挙げておきながら、多くの人が動かしているサンプルに問題があるわけないだろう と思ってコピペしたサンプルのソースをきちんと読まなかったのが悪かったようです。 それと、復号化が完成してから暗号化にかかったのですが、decryptと同時にencryptにも目を通していればすぐに気づいた筈なのですが…。 半年以上前にps2dev.orgのフォーラムで同じような質問をしていた人(その人はlabokoの結果と比較していた)は解決できたのかな? そんなわけで、セーブデータを操作するサンプルを試す時は、まず古めのゲームで動作確認することをお勧めします。
wavとMP3(mp3player.cを使用)の再生はできたんだが、oggはどうやって再生すれば良いのですか? ちょっとググってみたんですが、どんなライブラリを使えば展開できるのかわかりません><;
>>173 libogg,libvorbisとかSDL_mixerとかoggplayerとか。
VRAMに画像キャッシュしたまま表示ってできるんだろうか?
通常メモリからいちいち転送してると遅くてかなわない
thx
>>174 VRAMにも画像はおけるけどメインメモリからの転送が遅いとか
いってる時点でGuの使い方がなってない気がする。
色深度によってはVRAMなんて512x512のテクスチャ1枚置けない場所なのに
まともに使いこなせるわけねー
>>176 だから転送がネックになってるからキャッシュして使いまわしたいって言ってるんだが・・・
まあsliceとswizzleはしてるけどな。
極端だがおまいは同じ画像を1フレーム1万表示するのに、PCならともかくPSPでメインメモリから1万回転送するのかってことだよ
>>177 やるよw
まあsliceとswizzleとほにゃららすれば可能
優越感に浸ってるつもりなんだろうけど 周りから見たらどうみても馬鹿w
>>179 素直にできませんわかりません教えてくださいがいえないゆとりのお子様の
精一杯の強がりですね
>>178 ,180
できませんわかりません教えてください
てか本当にできるのか
普通にVRAMにおけばいいだけの話じゃないのか。
>>182 sceKernelDcacheWritebackInvalidateAll();
guStart();
sceGuCopyImage(GU_PSM_8888, sx, sy, width, height, textureWidth, data, dx, dy, PSP_LINE_SIZE, vram);
sceGuTexSync();
sceGuFinish();
sceGuSync(0,0);
sceGuTexFlush();
今のところこんな感じだけど使いまわすって感じじゃない・・・
184 :
名無しさん@お腹いっぱい。 :2008/08/09(土) 18:39:43 ID:Hq/maNhP
Debian環境で、psptoolchainインストールの過程で svn checkout svn://svn.pspdev.org/psp/trunk/psptoolchain を打ったのですが、 svn.pspdev.org' に接続できません: 接続がタイムアウトしました となってしまいます。 ping svn.pspdev.orgではリプライあるんですが、今って落ちてますか?
root@macx22:~# svn checkout svn://svn.pspdev.org/psp/trunk/psptoolchain A psptoolchain/toolchain-sudo.sh A psptoolchain/depends A psptoolchain/depends/check-gcc.sh A psptoolchain/depends/check-texinfo.sh A psptoolchain/depends/check-make.sh A psptoolchain/depends/check-autoconf.sh A psptoolchain/depends/check-flex.sh A psptoolchain/depends/check-patch.sh A psptoolchain/depends/check-subversion.sh A psptoolchain/depends/check-pspdev.sh (ry 鯖は生きてる
SDL本体の本家ソースからビルドしたいのですが、 config.guessとconfig.subを上書きするだけじゃダメでした。 どなたかやり方を教えて貰えませんでしょうか。
>>188 えっと通常のビルド方法しか書いてないですよね?
pspdevのではなくlibsdl.orgにある新しいのを、
PSP用にビルドしたいのです。
>>189 んじゃPSP用にソース書き換えて頑張ってね
もっとも車輪の再発明っぽいけど
欲しいソフト ・計算機 ・ラジオ ・アラーム・タイマー
PSPの開発の場合かなりが車輪の再発明にならない? libpngとかあの辺以外は
>>193 いままでPC用の車輪だったやつをPSP用に作り変えるって考えればいいんじゃまいか?
>>194 作り変える元が提供されてればいいけどなあ。
しかもlibpngとかのようなライセンス形態で
そもそもPSPでHomebrew動かすこと自体黒なのに、 今更ライセンスなんか気にしてるなんて…
普通に考えて黒じゃないだろ
>>197 だなあ。CFW導入も自作アプリ動かすのも自己責任
の上でやる上ではソニーも実際のところ何もいえない。
問題は自作アプリの内容だろうな。
いつになってもExceptionが取れないから助けてくれ・・・ とりあえずPSPLinkの結果がこれ Exception - FPU Exception (IV) Thread ID - 0x04621551 Th Name - user_main Module ID - 0x0462F743 Mod Name - "test" EPC - 0x08901E14 Cause - 0x1000003C BadVAddr - 0x00000001 Status - 0x20008613 zr:0x00000000 at:0x0008FF00 v0:0x0000002C v1:0x00000001 a0:0x09FBA738 a1:0x00000000 a2:0x00000001 a3:0x09FBA758 t0:0x08A4D268 t1:0x08A47C74 t2:0x00000001 t3:0x08A4D268 t4:0x09FBA764 t5:0x09FBA738 t6:0x00000000 t7:0x00000000 s0:0x00000001 s1:0x09FBA738 s2:0x0000002C s3:0x00000001 s4:0x000F4240 s5:0x08A5C3E0 s6:0x08A73240 s7:0x08A64B10 t8:0x00000001 t9:0x00000001 k0:0x09FBFF00 k1:0x00000000 gp:0x0894DBC0 sp:0x09FBA720 fp:0x09FBFD60 ra:0x0890215C 何が悪いんだ?というかどうすればいいんだ?
ヒント: Exception - FPU Exception (IV) FPU
今画像いじりながらアクションゲーみたいなの作ってるんだが、今はなんとか60fps出てるからいいけど、 この先60fpsを安定してだせなくなった時はどうすればいい? 今使ってるgu命令より高速なやつってあるの?
>>201 多分ない
あったら使ってるから
swizzleとsliceで頑張ることだね
30fpsで動かす!!
後は折角だしCLUTを使うとか 同時に使う色を256色に絞れば32bitテクスチャから見て単純計算で4分の1サイズの転送で済む
>>204 CLUTってただ単に色表示するだけじゃね?
とか思ったけど、確かにドット絵みたいにすればおkだよな
あとは
メインメモリに裏画面置いてから転送→描画
じゃなくて
直接VRAMに描いてやる
のが早いかもな。
VRAMの書き方知らないから教えられないが
>>205 いや扱いは普通のテクスチャと同じ
ただ普通のテクスチャが
「色情報が入った二次元配列」だったのに対して
「色情報を管理してるテーブルのインデックスが入ってる二次元配列」として扱われるだけ。
まあいくつかGuに与えるコマンドとインデックスとして扱われる分色情報を管理してる
パレット(最大256個のテーブル)が増えるけど圧倒的に画像サイズが小さくなるのでいいね。
でもCLUTの画像をいじれるツールがあんまりないだよね〜
カラールックアップテーブル、要はパレットのことやね 普通はBMP,PNG,tiffを、使いやすいようにコンバートするんでない それらのフォーマットに対応した画像ツールはいくらでもあるっしょ
208 :
名無しさん@お腹いっぱい。 :2008/08/12(火) 03:50:43 ID:6e2ZRLJ8
すれ違いかもしれないがここが適当そうだったので PSPの画像形式.anaをBMP等に変換するそふとありませんか
>>208 ある。ググれば紹介してるサイトとかすぐ出てくるよ。海外ソフトだから適当に登録いるけどな
forum覗いてみたらVRAM->VRAMが一番早いとか書いてあるなぁ まぁそれでも画像から行くよりは簡単な画像ならCLUTで十分だ
211 :
208 :2008/08/12(火) 14:57:15 ID:6e2ZRLJ8
gimはすぐにみつかったけど、anaはみつからない…
214 :
208 :2008/08/13(水) 01:22:41 ID:ADIacedO
ごめん、でもどの板がいいかわからない・・・
215 :
名無しさん@お腹いっぱい。 :2008/08/13(水) 04:19:53 ID:CDbouWJS
ごめんsageるの忘れてた
自分で作ったアプリから何かのモジュールを起動して そのモジュールが役割を終えたので終了させた場合 モジュールが使ったヒープって残ったままのかな?
218 :
208 :2008/08/14(木) 03:07:07 ID:ApDy+oU1
それでも教えてくれる人募集、直リンしてもらえるとうれしい。
>>218 いい加減巣に帰ったらどうだ?
と反応する俺もスレチ
だがdageてるところに苛立ちを感じたんだ
釣りに決まってんだろ
221 :
208 :2008/08/15(金) 04:42:54 ID:dJvxA4+p
かえらない 教えてもらえるまでは。
222 :
208 :2008/08/15(金) 04:45:28 ID:dJvxA4+p
ここで適切な板教えてくれるか、ツールへ"直リン"してくれれば帰るよ。
Game用プラグインでの話だけど、 起動時のムービー(PSPのロゴマークが入ったやつ)が終わってプログラムが本実行に移ってから処理を行いたい。 適当にDelayかまして乗り過ごそうかとも思ったけど、Delayが終わるまでプログラムが始まってくれない。 どうやるのがスマートかな。
>>224 常識的に考えてプログラムが実行されると同時にプラグインが読み込まれて実行になる(はずだ)から
ディレイなんていらん
226 :
208 :2008/08/16(土) 00:13:56 ID:ADoUzb7R
ネタふりも兼ねて 複数のMS間でプラグインなど数十MB程度のファイルをコピーできるソフト 暇が出来たら自分で作ってみるつもりだけど、その前にだれかお願いします。
できるけど・・・ 旧型視野に入れるとありえないくらい手間かかって駄目だな。
>>229 旧型とか眼中なかった・・
自分で作ることになりそうだ
>>226 フォーラムのPSPカテゴリで自分で英語書いてトピック立てろ
複数のMSって、ミネルバさんのあれじゃだめなん?
もしよければWin環境での使いやすいコンパイラを教えてください。
236 :
ぱぁつあん :2008/08/20(水) 18:51:52 ID:xy6mORWG
PSP3000て発売されるの 空気読めなくてごめん
pspjpeg.hの使い方知ってる人いる? あれって、mjpegのデコーダーらしいんだけど、使い方がよくわからんorz...
OSKを利用する際にすでに配列に蓄えてる日本語の文字コードを渡して 認識させたいんだけどどうやればいいんだっけ? EUCに変換してもうまく拾ってくれないんだわ。 たとえばOSKで入力した文字コードをそのまま渡しても 半角文字列として処理されるし。
>>242 OSKとやりとりするのはwchar_t型(UTF-16)
244 :
242 :2008/08/29(金) 08:02:10 ID:rh37m4ww
>>243 それがさっぱりうまくいかねーんだわ
オワタ参考にしてOSK周りの設定はしてるし
文字コードもOSKで入力した全角のコードを確認してるので
エンディアンとかもわかってる。
というかOSKからもらった文字コードをそのまま渡しても
全角で拾わないってのがなんとも・・・
245 :
242 :2008/08/29(金) 09:33:02 ID:xA56uYjA
あーすまん、自己解決したわorz
PSPGLって遅いのかなぁ?
PSPGLは確かにGuを直接動かすのと比較すると余計なコードは書かれてるけど 処理量によっては誤差の範囲じゃない? むしろ移植性を考えると悪くないペナルティかと。 問題はPSPのGuってある点を踏まえてないと速度でないんだよな・・・ PSPGL書いてる人がそれを抑えてるかどうかなんだが・・・
ある点っていうのを詳しく教えてください
>>249 横からで申し訳ないが
たぶんお前には理解できない。
そしておれにも理解できない。
>>248 2Dであればスライスとかだけど3Dも使えるのかなぁ
あとどっかにインデックスバッファ使うなとか書いてあった気がする
>>252 一応ね。
後で何かしら必要になると思うから。
まあ2Dでも速度出てないからそこらのロジック改良しなきゃいけないんだがw
>>253 速度がでない理由はPSPが3D特化GPUなのにそれにあわせた方法で
2Dのテクスチャ管理とかをしてないから・・・かな?
スライスが必要な理由もおそらくそこからきてる。
>>254 ビルボードとかそんなのにすればいいのか?
完全に2Dテクスチャとして扱ったのはダメだったのかな
空気の読めない質問だったらごめんなさい Cygwinをインストールしてsvnでpsptoolchainの最新版を持ってきたまではよかったんだけど、 ./toolchain.sh を実行すると以下のエラーが出る $ ./toolchain.sh ls: cannot access /usr/include/gmp.h: No such file or directory ERROR: Install gmp before continuing. ../depends/check-gmp.sh: Failed. なんだかgmp.hが無いって言われてるんだけど、もしかしてCygwinの時点でインストールするもの?
言われた通りインストールすればいいんじゃね。
>>257 レスありがとうございます
インストールしたいんだけど、gmp.hてCygwinのインストールする時のファイル選択のところのどこに入ってる?
CygwinのインストールのときPSP用の環境構築で必要な チェックを忘れただけじゃないの?
>>259 一応テンプレにあるDevelopmentを見て必要なものは入れたつもりだったんだけど・・・
追加するのは
Devel カテゴリ
autoconf
automake
binutils
bison
doxygen
flex
gcc
make
readline
subversion
Doc カテゴリ
textinfo
Libs カテゴリ
ncurses
Utils カテゴリ
patch
Web カテゴリ
wget
で、あってるよね・・・gmp.hは一体どこに・・・
>>260 libgmp-develとかそんな感じのパッケージを入れてみるんだ
カテゴリで全チェックいれたほうがいい。 VRAMに画像データ置いて高速描画しようとしてるんだけど速度がでないなぁ いろんなとこの寄せ集めとはいえもっと速度でていい気がするんだが。
>>260 libmpfr-develも忘れるなよ
>>262 色数さげてVRAMに直接描画したほうが早いんじゃない?
>>265 冗談はよしてくれよw
やっぱりやっちゃあいけないことやってるんが多いんだな。
>>254 は難しかったか?
>>265 直接色打つことなら速いのは実証済み
>>266 2D表示だからって結局は3DのZ座標を0で表示してるだけだから変わらないんじゃない?と思ってる
drawarrayじゃ速度でないからダメなのか?
>>267 スライスしてないんじゃないの
これでかなり違うからね
スライスが必要なのは憶測なんだけど下記の理由から。 PSPのGPUは3D特化だから。 スライスの幅は3Dモデルにテクスチャを貼り付けた場合 1ポリゴンが使うであろうUVサイズが32~128程度あれば 十分OKなんで。
>>268-269 blit.cを元に作ったからスライスはできてるはず
というか32ピクセル以上のテクスチャ使ってないからスライスの必要もない
見事にやらかしてるわ そりゃ速度でない
272 :
260 :2008/09/12(金) 12:00:49 ID:0KyVtxRc
>>261-264 こんな初心者丸出しの俺に皆さんレスありがとう
とりあえずlibmpfr-develってのを探してみてそれでもダメだったら全部チェック入れてみることにするよ
>>272 俺はお前のレス見てからlibgmp-develとlibmpfr-develを追加して
もうアップデート終わったよ
Mathのところにあるから
274 :
260 :2008/09/12(金) 12:24:52 ID:0KyVtxRc
連レス失礼します libmpfr-develってのにチェックつけてインストールして./toolchain.shでなんとかいけたっぽい 関連サイトとか見てるとこれからかなり時間がかかるみたいだけどなんか一安心 レス下さった方ありがとうございました
>>274 俺のcore2duo 3GHzで4時間かかった
>>275 Athlon64でやると最悪だぞ。
意味不明のバグでメモリを使い果たして途中で停止だからな。
277 :
260 :2008/09/12(金) 14:08:13 ID:0KyVtxRc
>>275 まじですか!
普通のXPだからかなりかかりそうだなぁ・・・
気長に待つしかないですね
PC付けたまま放置出来るのなら寝る前にするのがいいよ
起きたらエラーで止まってる・・・と
>というか32ピクセル以上のテクスチャ使ってないからスライスの必要もない これがそもそもの間違い。 PSPのGPUは3D特化型。 3Dゲームで使うテクスチャ枚数を想像してみるとわかりやすい。 3Dゲームでしかも携帯機種だと1フレーム更新する間に使うテクスチャは 100枚はまず無いと思う。 たぶんスライスとかすでに知られてる速度アップ方法をやっても速度が出ない人は 1フレームの間にsceGuTexImageをかなり発行してるはず。 これが速度が出ない理由。 sceGuTexImageを極力するくなくなるように、細かいテクスチャで管理しないで 大きな単位(256x256もしくは512x512)で管理すればいい。
>極力するくなくなるように 極力すくなくなるように
283 :
260 :2008/09/12(金) 19:09:24 ID:0KyVtxRc
処理が終わったみたいで無事にhello!worldがmakeできました レスを下さった方々ありがとうございました!
もうクリアまで全体の半分超えた?
psptoolchainの導入完了、とあるページ見ていざサンプルコンパイル…と思ったんですがうまくいきません。 「以下のmain.cとmakefileを作れ」ということを言われたのでとりあえずmain.c、makefileともにコピペ。 疑問・makefileの拡張子ってどういうものなのでしょうか…?調べてもよくわからなかったです。 (cygwin)ホームディレクトリに「hello」フォルダを作り、先ほど作った二つのファイルを移動。 cygwinからそのフォルダに移動し、makeコマンド実行。 すると「*** No targets specified and no makefile found. stop.」 と表示され失敗。 「ターゲット及びメイクファイルが見当たらんぞコラ」ということを言われているようなのですが、ここからよくわかりません。 makefileに原因があるというかそもそも検知されてないようなのでどうしたらいいのやらと困っています。
>>286 >疑問・makefileの拡張子ってどういうものなのでしょうか…?
makefileはつけないなあ。
>>287 素早い回答有難う御座います。
とりあえず拡張子消してもう一度やったところ認識はしたのですが、以下のエラーが出ました。
make: psp-config: Command not found
makefile:17: /lib/build.mak: No such file or directory
make: *** No rule to make target `/lib/build.mak'. stop.
makefileの中身そのまま貼り付けて
TARGET = hello
OBJS = main.o
INCDIR =
CFLAGS = -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
LIBDIR =
LDFLAGS =
LIBS =
EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Hello World!
PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
ttp://pspnfo.orz.hm/index.php?Development%2FTutorial%2F2からコピーしたものです 。
む、一見OKそうにも見えるw include $(PSPSDK)/lib/build.mak をちゃんと改行して終わらせてるかどうかの確認と DOS2UNIX makefile てやってあるか。 エディタをなに使ってるかでも変わってくるし
if ( ! grep '$PSPDEV' ~/.bashrc > /dev/null 2>&1 ); then echo "export PSPDEV=/usr/local/pspdev" >> ~/.bashrc echo 'export PATH=$PATH:$PSPDEV/bin' >> ~/.bashrc fi export PSPDEV=/usr/local/pspdev export PATH=$PATH:$PSPDEV/bin これやってからmake
>>292 改行されていなかったので改行を行い、
そのコマンドで実行を行うと
makefile: done.
と表示されたので上手く行ったような気がしましたがその完成したファイル(フォルダ?)が見当たりません\(^o^)/
ちなみにエディタはwindows付属のテキストエディタを用いています。
>>288 /usr/local/pspdev/binにパスが通ってないです。
export PATH=$PATH:/usr/local/pspdev/bin
を実行してmake。
次回のために.bashrcにも追加するのに以下を実行。
echo 'export PSPDEV=/usr/local/pspdev' >> ~/.bashrc
echo 'export PATH=$PATH:$PSPDEV/bin' >> ~/.bashrc
>>294 ああ、そのコマンドはコンパイルしないよw
コピーしただけだと改行コードが違うので
DOS2UNIXコマンドで変換するんだったかな?
なのでもう一度makeをやってみて
だめだったら
>>293 がいるのかな?
>>296 パスの通し忘れだったようです。
コマンドを入れてメイクするとちゃんと動きました/(^o^)\
EBOOT.PBPも生成されたので、これでとりあえず大丈夫なのでしょうか?
>>298 gameフォルダの下に半角英字で適当なフォルダ作ってコピーして動かしてみるとわかるよw
動いたッ! 第一部完ッ!! …やっと動きました。本当にありがとうございました<(_ _)> ソースのせいか一瞬表示された瞬間に終了しましたがw
>>281 でかいテクスチャ領域確保しておいてそこに貼り付けまくるって感じか?
2Dはメインメモリ内で画面作ってまとめて転送するほうが早いってことか?
いや・・・ 単純に画像を ・自機 32x32 ・弾 16x16 ・敵A 32x32 といったばらばらで画像管理するんじゃなくて 1面用画像とか言う感じで大きなテクスチャの中にべたで並べて UV座標を変えて使えってことでしょ。
305 :
281 :2008/09/13(土) 19:44:54 ID:npbV9nry
一枚のテクスチャに表示する画像を結合して、 テクスチャを切り替えずに表示すれば早いって話だろ?
TexImageで一度確保したあとに、ループやらなんやらで頂点入力してDrawarrayしてやりゃいいわけね。
グラフィックに関する関数について色々見てググって回ってみたものの、 日本語のまとめサイトみたいなものって無いのね…
>>309 ソース公開してるところからもらってきて勉強するしかないねえ。
>>310 うーん。やっぱりか。2D系で参考になりそうなのとかってないかぬ。
初めてPSPソフト作るからとりあえずテトリスとか作ってみようとしてて、
それだけならgu(3D特化?)なんて大層なもの使わなくても
Helloworldのpg.cの機能だけで事足りる様な気がしないでもないんだがどうなんだろう。
えーと、sceGuTexImage();は「確保」じゃないよ。
sceGuTexImage();はpspのGPUに今度はこのテクスチャでお願いします。って頼むコマンド(を裏で発行する)。
その際「GPUのキャッシュを全消去する」。
これが遅くなる原因。
void sceGuTexImage(int mipmap, int width, int height, int tbw, const void* tbp)
{
sendCommandi(tbpcmd_tbl[mipmap],((unsigned int)tbp) & 0xffffff); /* GPUコマンド発行 */
sendCommandi(tbwcmd_tbl[mipmap],((((unsigned int)tbp) >> 8) & 0x0f0000)|tbw); /* GPUコマンド発行 */
sendCommandi(tsizecmd_tbl[mipmap],(getExp(height) << 8)|(getExp(width))); /* GPUコマンド発行 */
sceGuTexFlush(); /* ←ここでキャッシュを全消去!! */
}
1/60辺りで、何百回もGPUキャッシュ破壊してたら、そら遅いわwww。
ふみふみ氏の
ttp://www.fumi2kick.com/pspapp/ の弾幕侵略者(psp-lunavader-src_061015b.zip)
psp_grp_screen.c の関数 TGameScreen_DispScreen(); のソースを参考にするといいと思うよ。
このルーチンはGuでのスプライト描画部分だが、同じテクスチャならsceGuTexImage();を発行しないよ。
>>312 その辺の命令が単なるコマンド発行してるだけってのを知ってる人はいいけど
知らない人もいるからねえ。
コマンドをまともに使ってたのって2005年前後でしょ。
ぐぐるとそれっぽいのがでてくるし。
ふと気になったんだけど皆さん開発手順は如何様に? 最初からAPI打ち込んで作るのか、何かしら別のやつ(SDLとか?)とか使ってwin用に作ってから 移植するようにして開発しているのか…
>>312 なるほどなぁ
前にそのソース見たことあったがそういう理由なのか
>>311 luaについてたやつ(だったはず)が表示して云々だけなら割と使える。
Gu周りはサンプルソースを持ってきてあれこれいじってチューニングして・・・かな? それ以外は自力で。 はじめたころは、ググれかす、サンプルみろ、で速度出すためのチューニングとか さっぱりわかんなかったもんな。
>>315 luaってluaプレイヤーのことですか?
>>316 なるほ〜。
そういえばDevkitproって時々名前を聞くんだけどDS開発用のライブラリではないのかぬ?
>>317 ライブラリっつーか開発ツールだと思う
DS開発用とは限らないが、PSP用はないと思う
さあ、これでPSPのGuで速度を出す方法も伝授したので 弾幕シューがいっぱいでてくるのを楽しみにまってるわ
そろそろ来るぞ・・・
>>319 まさか・・・弾幕シュー前提でこれ書いてたのか?
まあ弾幕じゃないがありがたいからいいや。
ありがとん
>>321 ちがうよw
それくらいの負荷もこなせる位早くなるので
ゲームがいっぱいでるといいなwといだけ。
ちょっと聞きたいんだけど、みんな開発にはどのOS何使ってる? DebianとかGentooみたいな王道系Linux? マイナーな奴(↑の派生含む)だと開発環境構築の為の安定パッケージが 揃ってなさそうなので参考にさせてくれませんか? VirtualBox上のecolinux(Ubuntu派生)で構築してみたんだけど、 psptoolchainの中にmakeでエラー出すサンプルがあって動かしたいのに 動かせなくて困ってるんだよ。
Slackwareを忘れてもらっちゃあ困る Slackwareならpsptoolchainはコンパイルできるよ 12.1なら日本語環境としても、フォントとかSCIMとか入ってるし
>>324 迅速なレスどうも。
早速使ってみます。
やはり歴史のあるもののほうが良さそうですよね。
cygwin入れなくても環境構築(VC++で)出来るのね… devkitPSPで普通にコンパイルできたわww あの5時間の苦労はなんだったんだ\(^p^)/
あんまりPSP関連の自作ソフトが増えないので 開発やってるやつほとんどいないのかと思えば 新規もいたり回答するのもいるんだな。 つーか、新作マダー(チンチンAAry
devkitpspとpsptoolchainで入れたSDKって中身に違いあるのか? ファイル数がなんか違うんだが…
>>328 同じだけどdevkitは更新してないから古い
pspsdkは日々更新してる
331 :
名無しさん@お腹いっぱい。 :2008/09/19(金) 00:02:31 ID:5sIA0Y4i
すいません、自作アプリを作成後にPCで確認する方法とかあれば ご教授お願いします。 ぐぐったのですが、メモステを抜き差ししか方法が見つからなかったので、 いいキーワードなどがあれば お願いします。
何を聞きたいのか今一分かんねぇよ そのゆとり全開な日本語を先にどうにかしろ。
Windows Mobile ソフト開発みたいにPSPでもPCのエミュレータで動かしてデバッグできるかな ってことじゃね? 開発環境と連動してソースレベルでデバッグできたら便利だろうけど既にあるのかな。 俺は知らん。
デバッグならinsight + psplinkusb だろうけど cygwinでpsplinkusbがmakeできない
335 :
名無しさん@お腹いっぱい。 :2008/09/19(金) 12:06:10 ID:j4WX1/wm
334>> いろいろ調べた結果、PSPEというのを使って模擬的に起動できたのですが、 自作ソフトは認識しませんでしたけど、psplinkusbで調べた結果 PC上での開発が楽になりました。 参考になりました。
アドバイスありがとうございました 別の方法でやりたいと思います
adhocについて詳しく書いてあるところない?
>>343 60万/sって事は60fpsで1万ポリゴン?
なんか少なくね?もうちょっと出るはずだぞ
p2から書き込んだら2重投稿にorzp2から書き込んだら2重投稿にorz
あれ・・・ p2使いにくいぞ・・・
動いたよ
>>349 んじゃバージョン低すぎるのかな?
ちなみに3.71M33-4で、PSPLink経由でもエラー
>>343 みたいなmqoローダー作りたいがよくわからんな・・・
3D勉強した方がいいのかな
353 :
名無しさん@お腹いっぱい。 :2008/09/25(木) 14:30:23 ID:EeXViwAm
PSPでストリートビューって見れないのか。
>>352 ありがとうございます。
理解して使用します。
遅い理由が分かった 三角形1個ごとにDrawArray()してるのが原因だ まとめてやるようにしたら小さく表示されるときにFPSが最大で2倍まで上がるようになった
>>352 動かなかったのでソース見た
× PSP_HEAP_SIZE_KB(-1024);
○ PSP_HEAP_SIZE_KB(1024/*-1024*/);
ヒープ領域マイナスですお???
修正してコンパイルしたらPSPで動作した
動かなかったのは初代だったからってオチか
互換性を考えてないほうがどうかと思うけどねw
つーか
>>352 そのままがPSP-1000で余裕で動いたけどww
だからバージョン晒せと
>>362 ヒープサイズを最大に使いたいならなら
PSP_HEAP_SIZE_KB(-128);
新型PSPで拡張されたメモリを使いたいなら
PSP_LARGE_MEMORY = 1
をMakefileに入れてくれ。でも旧型じゃ使えない
と読めた
PSP_HEAP_SIZE_KB(-128);と書くとどんな環境でも128KBだけ残して最大限メモリを確保するってことだ 旧型なら約20MB、新型でも普通は約20MB、PSP_LARGE_MEMORY = 1を指定すると 旧型は相変わらず約20MB、新型は約50MBのメモリを使えるようになる 当然のことだが、古いSDKではマイナスのヒープサイズに対応していないので(ry
>>364 古いって言ってもどれくらい古かったらだめなのかわからんぜ
>>364 PSP_HEAP_SIZE_KB(-128) は PSP_HEAP_SIZE_MAX() と変わらないのですか?
昨日
ttp://psblue.orz.hm/index.php?mode=res_view&no=934 見て開発環境インストールしてみたけど最後に
$ sh toolchain.sh
../depends/check-bison.sh: line 5: bison: commmand not found
ERROR: Install bison before continuing.
../depends/check-bison.sh: Failed.
ってエラー出てインストールできません
対策お願いします
ちなみにwin xp pro +cygwinです
>>367 ERROR: Install bison before continuing.
>>369 3.60 M33
起動に失敗しました(80020148)
>>366 pspmoduleinfo.h
/* Declare to allocate maximum heap area */
#define PSP_HEAP_SIZE_MAX() \
PSP_HEAP_SIZE_KB(-1)
開発環境psptoolchain、実行環境PSPEにて自作アプリ作ってみようと それぞれインストールしてみたのですが sdkサンプルのコンパイルは通ったものの PSPEで動くところまで行きません。 始めはPSPE実行後に即終了してたのですが、 PSP_EBOOT_ICONを設定する事でアイコン選択までは進めるようになったのですが、 今度はアイコンを選んで決定するとPSPE終了って感じに・・・。 適当に参考になりそうなソースを落としてみたりしてるものの コンパイルにee-gccを使う環境用だったりでなかなか先に進めません toolchainを利用した開発で参考になる サイトやソースがあれば教えて頂けると嬉しいですorz ちなみにコンパイルしてみたサンプルはsdkのguサンプルの中にあるcubeです。
実機でやれカス
>>373 おかしいのはエミュのほうだからまともに動くエミュをお前が作れ
作れないなら実機でやれ
optimizedでぐるぐるしてたら目が回った てかすげえw
>>377 アニメーションデータ制御は自前?
あとアニメーションは何でつけたんだろ?
>>376 optimaized+vsinc offでうまうまさせると大体曲とあうな
てか速すぎワラタ
382 :
名無しさん@お腹いっぱい。 :2008/10/03(金) 19:50:59 ID:LystJbhy
PSPでWindows2K動かそうとしてるがキーボードに積んであるCPUにシステムをうまく チェンジできないかな。キーボードのスペックはPEN4 SSD4GB MEM256MB なんだか 無謀かな?
>>382 PCの画面をPSPに転送するシステムを作ればおk
>>382 キーボード一体型のPC用のディスプレイにPSPを使いたいって事?
psp2000では自作ソフトどうやって動かすんですか?
そういえばウイルス問題で出鼻くじかれたEee BOXにセットになってる
キーボードが赤外線タイプらしいね。
PSP用によさそう。
>>385 CFW入れてください。
その辺はググってね。
CFW入ってれば自作ソフトのインストールもググればわかります。
sceKernelLoadExecでWindowsでいうコマンドライン引数を設定して実行したいんだがどうやんの? 配列のポインタ渡してもうまくいかない 初歩的なことかもしれないけどやり方を知ってる人教えてください
SDLでSDL_SWSURFACE設定時にscreen_bppを15にすると起動出来ませんでした。 これは仕様なのでしょうか? もし何か良い方法があれば教えて下さい。
>>387 SceKernelLoadExecParam構造体で渡してるか?
あるソースをコンパイルしようと思ったら、jpeglib.hとpng.hが見当たりませんって怒られた んで、Cygwinでそれっぽいの再インストールしてみたけど効果無し・・・ こんな場合はどうすればいいの? 外部からライブラリを持ってくればいいのかな?
>>390 #!/bin/sh
svn checkout svn://svn.ps2dev.org/psp/trunk/jpeg
cd jpeg
make
make install
cd ..
svn checkout svn://svn.ps2dev.org/psp/trunk/zlib
cd zlib
make
make install
cd ..
svn checkout svn://svn.ps2dev.org/psp/trunk/libpng
cd libpng
make
make install
>>391 レスありがとう
関連してそうな単語検索にかけたんだけど、どうにも分からなくて・・・
>>392 詳しくありがとう
とりあえずお二方が教えてくれた方法を両方試してみたんだけど、jpegとpngでエラーを吐くことは無くなったんだけど
今度はまた違うエラーが出た・・・
コンパイルしようとしてるのはオワタブラウザのKSK版なんだけど以下のが出てコンパイルできない
psp2chFavorite.o: In function `psp2chFavorite':
psp2chFavorite.c:(.text+0x2288): undefined reference to `pgMenuBar'
collect2: ld returned 1 exit status
make: *** [owata.elf] Error 1
undefined ってことは未定義ってことだよね?
オープンソースだからそのままmakeでいいと思ったんだけど何が足りてないんだろ・・・
未定義なんだから定義すればいいだろ
オープンソースだから自分でソースをいじればOK
さあ、今すぐバグを修正してパッチを送りつけるんだ!
397 :
名無しさん@お腹いっぱい。 :2008/10/13(月) 04:17:05 ID:PSCx0wtT
398 :
名無しさん@お腹いっぱい。 :2008/10/13(月) 04:31:55 ID:PSCx0wtT
てかソースコードどこだよ 別にDAXのほうがすごい
面白そうだなw
>>394-396 遅れましたがレスありがとう
まぁ見ての通り素人に毛が生えた程度の知識しかない俺なので、とりあえずKSKさんに聞いてみることにします
失礼極まりないと思うけど俺の脳みそじゃぁどうにもならんので・・・
最近SDKを触るようになったのですが分からないことがあるので質問です。 一部のデータを毎フレームVRAMに転送するのではなくて 1度データをVRAMに転送してからそのままデータを書き換えないよう 置きっぱなしにしたいのですが、どうにか実装できないでしょうか? 教えて下されば有り難いですm(_ _ )m
>>403 VRAMのデータを変更しなければいいんじゃない?
SDKってsceなんちゃらって関数にまとめてるほうだっけ?
汎用がSDLだっけか?
あんまりそういうの気にしてなかったので呼び名わかんねー。
>>403 まず、Gu初期化するときの状態がわからないんだけど
ダブルバッファーで初期化してるならGu使ってVRAMにレンダリング
(Drawバッファ)したあとフリップ(ダブルバッファーの入れ替え)
をして放置しておけばOK
406 :
403 :2008/10/20(月) 06:57:56 ID:4aAVjsVl
あれ、関数見落としてたのかな・・・ 良ければダブルバッファ設定とフリップの関数名を教えていただけないでしょうか よろしくおねがいします。人(´Д`;)
>>406 サンプル見ろよ
sceGuInit();
sceGuStart(GU_DIRECT,list);
sceGuDrawBuffer(GU_PSM_8888,fbp0,BUF_WIDTH);
sceGuDispBuffer(SCR_WIDTH,SCR_HEIGHT,fbp1,BUF_WIDTH);
〜
sceGuSwapBuffers();
こんなのが書いてあるやつ
sdk/samples/gu/common/vram.hのgetStaticVramTexture()を使えばテクスチャをVRAMに置けるな ディスプレイリストなんかもgetStaticVramBuffer()で確保した領域に置けば速くなるのかね
409 :
403 :2008/10/20(月) 20:14:41 ID:4aAVjsVl
>>407 d、ちょっと寝ぼけてました、その辺はプログラム書いてました。
テクスチャをVRAMに送るのに今はsceGuTexImageってのを毎フレーム呼んでるのですが
VRAM転送時に転送先アドレスをオフセットしたりして前からあるデータを残せないかな
って事を聞きたかったのでした、ごめんなさい。
>>409 それは
>>312 のあたりと関係するかなあ。
今の関数ってのは初期のころ使われてたGuに送るコマンドを
SDK書いてる人たちがまとめたものなんで関数を使わずに
自分で部分的にコマンドを発行するようにするとか
しないとだめかも?
まあ1フレームあたりに一桁台のsceGuTexImageならそれほど影響は無いよ。
sceGuTexImageはVRAMにテクスチャを送るのではない Guに送るのだ sceGuTexImageが自動的にVRAMにテクスチャ領域を作ってキャッシュしてくれると思ってるなら大きな間違い テクスチャキャッシュは専用メモリで8Kbだけだ
>>411 8kbなのか。
テクスチャをフルキャッシュはしてない(というかそもそもそんなメモリないし)
とは思ってたが。
なんだかこのスレ凄ぇな…… "PSPでN64エミュを楽しむスレR5"とかと同じ板にあるとは思えないわ
CFW5.00用のソフトコンパイルするにはどうしたらいいか分かる方居ますか?
416 :
名無しさん@お腹いっぱい。 :2008/10/22(水) 05:13:23 ID:EI8X+tQ/
開発環境を構築してライブラリも入れたのに、
ttp://www.fumi2kick.com/pspapp/ ここの一番下のソースコードがビルド出来ない。
エラーコード
psp-gcc -I. -I/usr/local/pspdev/psp/sdk/include -O2 -g -Wall -DDEBUG -I/usr/local/pspdev/psp/include/SDL -Dmain=SDL_main -D_PSP_FW_VERSION=150 -c -o bootmain.o bootmain.c
bootmain.c:10:23: error: SDL_Audio.h: そのようなファイルやディレクトリはありません
bootmain.c: In function ‘SDL_main’:
bootmain.c:35: 警告: unused variable ‘NowTiming’
make: *** [bootmain.o] エラー 1
sdl_audioがsdl_mixerに変わったからなの?
誰か分かる人いませんか?
>>416 SDL自体をインストしてないような気がするけど
418 :
名無しさん@お腹いっぱい。 :2008/10/22(水) 13:29:35 ID:QRqFtJdT
jpegファイルの高速展開方法知ってる人いない? 30fpsぐらいで展開できればいいんだけど...
jpegはDCTの演算をいかに高速に処理するか。 でも、その辺ってlib使ってやるだろうからどうなんだろうね。
0.03秒毎に1枚なのか、0.5秒毎に1枚なのか分からんな
マニュアル見てて使えるかな〜とは思ってるんだが 手をだしてないのがあるんだよね。 pspjpeg.h とか この辺が内部でPSPのFPU使ってれば早いかもしれないが いまいち使い方わからんw
---jmorecfg.h--- #define FAST_FLOAT float #define INLINE inline ---使うところ--- jpeg_read_header(&cinfo, TRUE); cinfo.dct_method = JDCT_IFAST; cinfo.two_pass_quantize = FALSE; cinfo.do_fancy_upsampling = FALSE; cinfo.do_block_smoothing = FALSE; これで多少速くなった。
その辺の高速化は猫さんに聞くのが一番だろうが 粘着したお子様のおかげでアレな状況だからな。 動画デコードは基本的にはDCT絡んでるはずなんで。
onsでjpeg動画対応とか言ってたからソース見れるなら見てくれば?
結局422は何を作ってるの?
VirtualPC+Vine LinuxでPSP開発環境構築 って所を参考に環境を作ってみたけど どうもうまくいかない。 ./toolchain.shを実行すると10分後くらいに 「mpfr.hが正確にインストールされてない」みたいのが出る たぶんバージョンが違うんじゃないかと思うんだけど このファイルがどこにあるのか、どのバージョンを入れればいいのかわからないんだ この場合はどうしたらいいだろう?
aptとかyumとかでパッケージ探してインストールしろ
>>417 svn://svn.ps2dev.org/psp/trunk/psplibraries
↑から引っ張ってきたのをテンプレ通りに入れたんだけど、それじゃ駄目ってこと?
ちなみに、OSはUbuntuです。
>>432 そんな感じでいいけど漏れてるんじゃないかな?
>>433 うーん。公式にVirtualBoxの仮想ディスク見つけたからXPホストで
再構築してみます。
hostcoreを5.00m33に対応してください。 もしくは同等の機能のプラグインを作ってください。 頼むな
>>430 ,432
どうも、パッケージが見つからなかったら他の手段を考えてみるよ
437 :
424 :2008/10/23(木) 10:15:20 ID:3cWLKpBC
>>427 jpeg_read_scanlinesにローカルの配列を与えて、結果を1個1個image->dataに送ってるけど、
jmorecfg.hの
#define RGB_PIXELSIZE 3
を
#define RGB_PIXELSIZE 4
とすることで、jpeg_read_scanlinesにじかにimage->dataを渡せるよ。
これでだいぶ速くなるはず。
ただしモノクロの画像には対応できないので、その場合は別処理にする必要があるけど。
(どうせgraphics.cppではモノクロ対応してないようだがw)
あと公開されてないのでわからないけど、jpeglib.aを作るときも-O2は必須な。
>>436 解決しました。
どうやら、向こう側のソースコードはSDL_Audio.hだったのに対し、
インストールしたのはSDL_audio.hだったようです。
バージョンによって名前が変わることがあったんですね。
>>436 試しにやってみたら同じ所で詰まったけど出来たよ
まず、gmpが足りなかったけどこれはapt-getでgmp gmp-devel取って来たら解決
mpfrは既存のは古く、apt-getでも無かったから最新の探してきて自分でmakeして入れたら出来た
>>438 Windowsのファイルシステムだと文字の大小は無視するんだが
Linuxは大抵case sensitiveだからそういうこともある
442 :
437 :2008/10/24(金) 10:03:18 ID:VrNnGuaK
>>427 以前、自分が散々調べてやっと見つけた情報を、同じような目に逢ってる奴がいると思って提供したんだ。
役に立ったか立たなかったか、使い道があるのかないのか、の反応くらいしたらどうだ?
>>442 まあそう急かすなw
第一PSP関連でクレクレするやつは行儀も礼儀も作法も
無いやつらで見ておかないと自分だけがイライラで
疲れるぞ。
無難な範囲で情報提供する程度にしておかないとなw
このスレの情報提供者が上から目線なのはそういうことか もったいぶって教えない奴は知らないだけだと思うがw
つか24時間で返答を期待するなよ・・・ 象の時間でいこうぜ
>>437 レス遅くなってスマソ...
俺初心者だから、具体的にどうソースを変えればいいのかわからん...orz
>>447 開発環境がどういうのかは知らんけど
jmorecfg.hを見つけるしかないな。
その中に
>>437 の言ってる箇所があるので数字を変更すればいいだけだろ?
つーかlib使ってるならググれば出てくることもあるぞ。
>>448 jmorecfg.hの値を変えただけだと、映像にバグが起きただけで、スピードが変わらなかった。
>>437 はgraphics.cpp自体のソースも改造しろって言ってるように見える。
長々とスマソ...
ライブラリの再コンパイル→再インスコはしたのか? graphics.cppの改造はモノクロ時の話じゃないか?
451 :
424 :2008/10/25(土) 13:59:55 ID:rMSknC0x
初心者か、じゃあちょっと難しいかなあ。 ヘッダの値変えただけじゃダメよ。 jpegライブラリ再コンパイルして、graphics.cpp中のjpeg_read_scanlines()にimage->dataのポインタを じかに渡せばいいんだが。今はローカル配列のポインタを渡して、jpeg_read_scanlines()が終わってから 1バイトづつimage->dataにコピーしてるでしょ。そんなん遅いに決まってる。
自作ソフトつくるにはC言語がつかえればいいの
そういうのを自分で調べられる力も必要だな
うーんカーネルモードで起動できん PSPnfoのhelloworldの上の方のマクロの2行のとこを変えるでおkだよな?
>>454 どのCFWのバージョンか忘れたけどカーネルモード
のアプリはそのままで起動できないようになってたはず。
やるとすれば、CFW+1.50を入れてリカバリーモード
で1.50に切り替えて・・・になるね。
あとはカーネルモードを使う部分だけprxで分離して
使うとか。
>>455 仕方がないから今は1.50でやってるけど新型じゃ使えないんだよね
filerの5.6のカーネル3版はprxなしで使えてるから不可能じゃないと思うんだが…
ちなみにバージョンは5.00 M33-3+1.50カーネルね
初歩的な質問で申し訳ないんですけど、 devkitProでdevkitProに入ってるサンプルをコンパイルしようとしてて コマンドプロンプトでフォルダに移動してmakeでコンパイルしようとすると、 make: psp-config: command not found makefile:17: /lib/build.mak no such file or directory make: *** no rule to make target `/lib/build/mak'. stop, と成り、コンパイルできません。 わかる方ヒントいただけませんか??
make: psp-config: command not found
自己解決
多分
>>373 と同じなんだけど
PSPSDKやdevkitPSPだとかをインストールして
サンプルをPSPEで試そうとすると上手く動きません
web上で拾った自作アプリは幾つか動く物を確認したので
PSPE自体は正常だと思うのですが・・・、
古いスレを見たらPSPE使ってた方が結構居られるみたいなので
解決法とかお知りの方居られましたら助けて下さい(つД`)
>>461 >374 :名無しさん@お腹いっぱい。 [↓] :2008/09/30(火) 22:50:03 ID:SgkJcAKU
>実機でやれカス
>
>375 :名無しさん@お腹いっぱい。 [↓] :2008/10/01(水) 06:55:25 ID:7Hdy43R+
>
>>373 >おかしいのはエミュのほうだからまともに動くエミュをお前が作れ
>作れないなら実機でやれ
464 :
461 :2008/10/30(木) 22:04:56 ID:2j7bcBxK
そう・・・ですよね、失礼しました
>>457 PSP自作ソフト総合スレver.4参照
cygwin起動させたあと、
エディタで.bashrcの最後に
export PSPDEV="/usr/local/pspdev"
export PATH="$PATH:$PSPDEV/bin"
を追加したあと、cygwinを再起動でいいかも・・
エディタがない場合は、(エディタをインストールするか)
echo "export PSPDEV=?"/usr/local/pspdev?"" >> .bashrc
echo "export PATH=?"$PATH:$PSPDEV/bin?"" >> .bashrc
これじゃないかな
>>465 devkitだからcygwinは関係ないと思う
>>457 コマンドプロンプトで
path
とうって
devkitPro\devkitPSP\bin;
が入ってるか確認
467 :
465 :2008/10/31(金) 13:19:30 ID:0UGXpoNs
これは恥ずかしいw なんか色々すいません
psp-configはシェルスクリプトだからMSYSで実行しいや コマンドプロンプトからsh makeでもいい
469 :
457 :2008/11/02(日) 17:19:00 ID:Fnzl9PG6
いろいろアドバイスありがとうございます。 でもなかなか直らないですね・・ 現在cygwin+psptoolchainでサンプルプログラムをコンパイルできているのでそちらで開発して行こうと思います ありがとうございました
やり方わかんないんだけど psp-gcc.exe a.c でa.oができるんだけど、 それを psp-ldにわたすの? でもどの*.aを渡してもエラーで終わるんだけど… 誰か教えてくれー 今から過去ログ読んでくるわ
以下参考に TARGET = cube OBJS = main.o callbacks.o graphics.o CFLAGS = -O2 -G0 -Wall CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti ASFLAGS = $(CFLAGS) LIBDIR = LIBS= -lpspgum -lpspgu -lpng -lz -lm LDFLAGS = EXTRA_TARGETS = EBOOT.PBP PSP_EBOOT_TITLE = Cube Sample PSPSDK=$(shell psp-config --pspsdk-path) include $(PSPSDK)/lib/build.mak
おートンクス なんとかできそうだが、 scekernelmaxfreememsizeとscegemdramgetaddr がないと怒られるんだがどこにあるのだ? libpspdebugのpspdebugscreeninitexとlibcの_sbrkから呼び出されてるみたいだが
LIBSに -lpspkernelとか-lpspgeとか付け加えればいけるんじゃね? あと、大文字小文字はちゃんと書け
>>473 おk
トンクス
コンパイル&リンクはできたけど
psp-prxgen.exeがfound no relocation sectionsになったわ。
どっかのオプションまずったかな
>>475 それはprxを出力するためのものでEBOOT.PBPでいいならいらない。
というか現状のmakefileの中身貼ったほうがいいと思うぞ。
>>476 psp-prxgen.exeを使っているんだし、prxを出力したいのでは?
prxだけ出力のサンプル TARGET = hogePRX OBJS = main.o INCDIR = CFLAGS = -O2 -G0 -Wall CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti ASFLAGS = $(CFLAGS) BUILD_PRX = 1 PRX_EXPORTS = $(TARGET).exp LIBDIR = #PSP_FW_VERSION=390 LDFLAGS = -mno-crt0 -nostartfiles LIBS = -lpspsdk -lpspaudiolib -lpspaudio -lz -lm -lpsppower -lpsprtc PSPSDK=$(shell psp-config --pspsdk-path) include $(PSPSDK)/lib/build.mak
あーすまん PRX_EXPORTS = $(TARGET).exp これはいらないかなあ・・・ どういうprxかでかわる。 prx作るなら例のhomeボタンを取得できるサンプル探してきたほうがいいな。
>>477 いやPSPのhomebrew環境をryに
D:\devkitPro\devkitPSP\bin\mksfo.exe "Title" title.sfo
D:\devkitPro\devkitPSP\bin\psp-fixup-imports.exe temp.elf
D:\devkitPro\devkitPSP\bin\psp-prxgen.exe temp.elf temp.prx
D:\devkitPro\devkitPSP\bin\pack-pbp.exe EBOOT.PBP title.sfo icon.png NULL NULL NULL NULL temp.prx NULL
って書いてあったからこの通りにelf->prx->eboot.pbpにしようとしてる
あのサイトは害悪でしかないな… 何人目だよ、あそこ見て詰まってる奴
俺のはこんな感じなんだが TARGET = hogehoge OBJS = main.o PSPPRE = $(shell psp-config --psp-prefix) PSPDEV = $(shell psp-config --pspdev-path) PSPSDK = $(shell psp-config --pspsdk-path) PSPBIN = $(PSPSDK)/../bin INCS = $(PSPPRE)/include/SDL INCS += $(PSPSDK)/include $(PSPDEV)/include $(PSPPRE)/include INCDIR = $(INCS) CFLAGS = -O2 -G0 -Wall #CFLAGS += $(shell $(PSPBIN)/sdl-config --cflags) CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti ASFLAGS = $(CFLAGS) LIBDIR = LDFLAGS = -Wl LIBS = -L/usr/local/pspdev/psp/lib #LIBS += $(shell $(PSPBIN)/sdl-config --libs) LIBS += -L$(PSPSDK)/lib -L$(PSPDEV)/lib -lmad -lpspgum -lpspgu -lpspaudiolib -lpspaudio -lpng -lz -lm -lpsppower -lpsprtc EXTRA_TARGETS = EBOOT.PBP PSP_EBOOT_TITLE = hogehoge #PSP_EBOOT_ICON = icon0.png #PSP_EBOOT_PIC1 = pic1.png #PSP_EBOOT_SND0 = SND0.AT3 #PSP_EBOOT_ICON1 = ICON1.PMF include $(PSPSDK)/lib/build.mak
>>484 あー俺もそれはまったわ
結局そこのではやってないんだよな。
gcc + toolchainでやってるわ。
>>487 あーおれcygwinのpsptoolchainでこけた。
何回も違うとこで失敗して心が折れた。
Linuxインスコして、psptoolchainをコンパイルすればおk …ダメか
エラーメッセージに何が書いてあるかくらい読めないならあきらめろ
>>487 これはダウンロードする際の鯖で時々問題があるのと
AUTOMAKEを1.9に指定しないとうまくいかないけど
それさえ超えれば後は
>>487 でいったようなプロセッサに
起因するバグだけだよ。
knoppixでもおkかな やってみよっと
しまった
http://pspnfo.orz.hm/index.php?Development Q.SDLがインストールできないんだけど?
A.Automake 1.10を使うとエラーを吐くのでAutomake 1.9を使う必要があります。
環境変数WANT_AUTOMAKEでautomakeのバージョンを指定することが可能です。"WANT_AUTOMAKE=1.9 ./autogen.sh"というコマンドで実行してください。
これの"WANT_AUTOMAKE=1.9 ./autogen.sh"がうまくいかなくて(たぶんautogen.shがない)
gccのコマンドで直接環境変数?にWANT_AUTOMAKE=1.9っていうのを指定してたんだが
コマンド忘れたよww
これさえクリアできれば進むんだけどねw
495 :
494 :2008/11/03(月) 19:25:37 ID:aUrRbicf
キタ─wwヘ√レvv〜(゚∀゚)─wwヘ√レvv〜ー!! 違うwinの開発のパッケージ入れたら 普通に動いたぁぁぁぁぁ 今までの苦労が…(´・ω・`)ショボーン
>>496 http://www.xorloser.com/ のPSPDevSetup-06120213.exe
組み合わせ?
全部入ってるみたいよ
あ、
psp-gccでコンパイルリンク
でpsp-fixup-imports
mksfo
psp-strip
最後pack-pbp
で完成
pspでも動いた
そもそも俺はVMのLinuxにどうやってファイル渡すのかわからなくて挫折したぜ
>>498 ホスト側のOSに共有フォルダ作ればいいんじゃね?
それをVM側のLinuxからマウントすれば…
>>499 それって追加機能インストールするやつ?
ちょっと調べてみるわ
サンキュー
だめだ… vmadditionsforlinux.isoの中に rpmファイルなんていませんよ…?
その辺すんなりできないならgcc+toolchainでいいじゃねーかw 折角ポイント書いたんだし。 でもあれだな。 今後CFW入れれるPSPを新品で手にできないかもしれないと 思うと急に自作アプリ作る意欲なくなるな・・・ りんごとかのデバイスみててタッチパネルorキーボード 欲しいと思ってただけに・・
>>503 そういうのは意味ないねえ。
というかすでに検討してるし。
リモコン端子はRS-232Cのようだし、タッチパネルキットもRS-232C
で通信できるタイプもあるのは知ってるが、値段が高い。
CFW入れないといけない上にハード改造しないと使えないアプリ
をどれだけの人が使うかだよ。
ぶっちゃけリンゴのスペックってどうなの? PSPと同等なの?
>>505 似てるといえば似てるが違うといえば違う。
全部は把握してないけど
・解像度はほぼ同等(りんごがPSPの画面でいう縦方向が若干少ない)
・メモリはPSPが32MBor64MBに対して128MB
あとは知らん。
でもメモリの多さはブラウザ対応してる端末としてはかなり有利。
しかもPSPのようにアドレスが不連続な64MBじゃないはずだし。
今入れてるpspsdkのバージョンってどう調べるの? Cygwin+psptoolchain環境で
調べる方法が無い
>>508 revisionならsvn infoで表示
バージョンはずっと1.0ベータのまま
ところで、皆さんどんなソフト作ってるの?
helloworldって表示させるゲーム
ファイラー
gameboot.pmfを入れ換えるソフト 未だにカーネルモードの起動の仕方がわからん
エミュの移殖
PSPのGuで3DCGの勉強
adhocで転送するときに構造体配列そのまま送れるのか? というかadhocのサンプルもよくわからん
俺だけ把握かよww CFWでカーネルモードの起動の仕方を探すこと2週間
>>518 adhocってのはあくまで低レイヤーでの接続方法だから
送るデータはあんまり関係ないんじゃないかな?
>>519 カーネルモードの起動というのがわからん。
リカバリーモードで1.50カーネルで起動するか
1.50の機能を使う部分をprxで分離して
カーネルメモリ側で動かすかないはず。
PSPSDKの更新できね・・・('A`)
ls: cannot access /usr/include/gmp.h: No such file or directory
ERROR: Install gmp before continuing.
../depends/check-gmp.sh: Failed.
上に書いてあったけど
>>439 >まず、gmpが足りなかったけどこれはapt-getでgmp gmp-devel取って来たら解決
>mpfrは既存のは古く、apt-getでも無かったから最新の探してきて自分でmakeして入れたら出来た
apt-getってCygwinになくね?
Command Not Foundになった
さらっとインストーラ見た限りないし
cygwinを使わなければおk 最近のLinuxディストリビューションならapt-getがはいっていてウマー そうじゃなくても、gmpとやらなどのソースを自分で持ってきてコンパイルしれ
>>521 cygwinならcygwinのインストーラーから探せよ…
>>520 3以降のカーネルでflash0とかにアクセスするってこと
ユーザーモードじゃだめでしょ
prx作るしかないのか…
>>520 そうなのかー
色々と弄ってみるか
>>523 インストーラ見た感じだとgmpもapt-getもないね
やっぱLinuxがいいんじゃね?
gmpはcygwinだとlibgmpあたりじゃなかったっけ? そのものがダメなら〜libか〜-develで探せば大体いけるはずだけど
〜libじゃなくlib〜だった
>>524 大した手間じゃないし素直にそうするのがいいと思われ
APIまとめてあるとこってないん?
最近入れた俺のcygwinにはgmpもmpfrもあるよ cygwinのsetup.exeで再インストールすればいいんじゃないの
>>532 DevelカテゴリじゃなくてLibsカテゴリにあった
ずっとループしてると割り込み効かないんだけど なんかwindowsのSleep()みたいなやつないんかな?
sceKernelDelayThread?
ループの中に sceKernelDelayThread(時間); 1*1000*1000 で1秒だったかな?
ありっと♪ でもhomeのcallbackでsceKernelExitGame よび出すと終了しないことがあるから、 callback関数ではフラグだけ立てておいて retして本threadでsceKernelExitGame 最後に呼び出した方がちゃんと終われる 確率高いな。既出かもだけど。
int a,b; a = 10; b = 20; pspDebugScreenPrintf("a=%d\n", a); pspDebugScreenPrintf("b=%d\n", b); pspDebugScreenPrintf("a + b =%d\n", a + b); 足し算をさせるプログラムで、たとえばaの数を△ボタンで変化させたいときの方法教えてくれー
>>538 #include <pspctrl.h>
SceCtrlData pad;
sceCtrlPeekBufferPositive( &pad , 1 );
if ( pad.Buttons & PSP_CTRL_TRIANGLE)
{
a++;
}
SceCtrlDataをもう1個用意して押しっぱなしチェックもしてね
PCMの再生やってるんだけど、うまくいかない PCMのcallbackの第一引数にshortintでlrの順番で (第二引数×2バイト)分書いてreturnだよね?
PCMってWAVファイルか・・・ がんばれw
PCMなんかsceAudioOutputBlocking()に投げときゃいいんじゃないの?
544 :
538 :2008/11/07(金) 17:03:55 ID:z/dnhP6q
>>539 Thanks
初心者だからがんばってみる
>>543 それは古いな。
SDK書いてる人たちがそれをさらにラップして使いやすくしてる関数がある。
たぶん
>>541 はそれをベースにいじってるんだと思ってる。
ただしあのサンプルは使いにくいんだよな。
改造にえらい手間がかかったよ。
pspglで undifined reference to `glHint' undifined reference to `glCallList' undifined reference to `glNewList' undifined reference to `glEndList' undifined reference to `glColorMaterial' って出るんだけど、pspglでこれらの機能って使えないの...?
pspaudiolibか
pspsdk/src/audio/pspaudiolib.cにソースがあるので読んでみるといい
個人的には音鳴らしてないときもサウンドバッファに0を書き込んでるのが微妙だと思う
無音のときはsceKernelSleepThread()で寝かせといて
鳴らしたくなったときにsceKernelWakeupThread()で起動させたほうがいいんじゃね
>>546 readmeにpspglが何に対応してて何が使えなくなってるか載ってたはず
>>545 へー、古いんだ
sceAudioChReserve()して
ループでデータ読んでsceAudioOutputBlocking()に投げて
終わったらsceAudioChRelease()するだけだから別に使い難くも何もなかったけどなぁ
>>547 後で見てみよ
>>548 ただ出回ってるサンプルが鳴らすだけってのくらいしかないので
音楽とめるとWAVの最後のゴミがプチプチなりっぱなしになってたりするな。
てか名前だけではライブラリなのかAPIなのかわからんな
pspのAPIとかライブラリって再入可能なのかな? pspDebugScreenPrintf同時に呼び出される可能性 あるコード書いてるけどそれで不具合が起きてる と信じたい
>>553 状況がさっぱりわからん。
pspDebugScreenPrintf呼び出したくらいで
ボタン効かなくなることなんてないだろ。
マルチスレッド面白いよマルチスレッド ちゃんとmutexとかで同期取らないと想定外の事態が起こりまくる
printf系の関数ってリエントラントで作ってあることの方が少ない印象
スレッドセーフならともかく。
558 :
sage :2008/11/08(土) 08:57:28 ID:VfJIvyMS
>>513 のサイトを参考に開発環境を構築しているのですが、
make[1]: ディレクトリ `..../psplibraries/build/pspirkeyb/asciidemo' に入ります
psp-gcc -I.... -d MEMSIZE=1 'IR Keyb ASCii Test' PARAM.SFO
main.c:12:22: error: kubridge.h: No such file or directory
make[1]: *** [main.o] エラー 1
make[1]: ディレクトリ `..../psplibraries/build/pspirkeyb/asciidemo' から出ます
make: *** [all] エラー 2
../scripts/015-pspirkeyb.sh: Failed.
ERROR: Could not run the libraries script.
のように kubridge.h が見つからないとエラーが出るのですが、
このヘッダーファイルは、何をすれば手に入れられるのでしょうか。
先のサイトのとおりやったのですが、うまくいきません。
# psplibraries の readme-ubuntu.txt に
# Install the required packages. と書いてあったので
# sudo apt-get install libtool はしてあります。
どなたか、わかる方お願いします。
559 :
sage :2008/11/08(土) 09:01:28 ID:VfJIvyMS
558です。 ....の部分は、長いので省略して記述したのですが、実際の gcc の -I オプションは、 psp-gcc -I/usr/local/pspdev/SDK/include -I../libpspirkeyb/include -I. -I/usr/local/pspdev/psp/sdk/include となっています。
kubridge.hはCFW4.01M33に含まれてる SDKディレクトリの下にあるはずだ で、お前は本当にそのデモプログラムらしきものをコンパイルしたいのか? 必要ないなら省略していいんだぞ?
vcとかならマルチスレッド用のライブラリが別にあるんだけどね 末尾にmがついたやつ
>>554 マルチスレッドについて勉強したらまたおいでボクちゃん
煽るなww
あーあれか複数スレッドあげてpspDebugScreenPrintfをそれぞれで 呼んでるのか。 そんな悪いやり方しないからなにで詰まってるかわからなかったよ。 そんなのpspDebugScreenPrintfを処理するタスク作って 今pspDebugScreenPrintfを出してるスレッドから 表示データ送るなりすればいいだけだろ?
気のせいか殺伐としてきたな
グラフィックって2DでもGUつかうと速くなる? ってか2dでguつかえるん?
>>566 めちゃくちゃ早くなる
SDKのサンプル見ろ
568 :
sage :2008/11/08(土) 20:50:14 ID:IaGtMz/L
>>560 >kubridge.hはCFW4.01M33に含まれてる
>SDKディレクトリの下にあるはずだ
CFW にあるのね。あ、ほんとだ。
>必要ないなら省略していいんだぞ?
え”そうなの?必須じゃないのね。
それで、CFW の include と lib ディレクトリは、どこにコピーするのが
いいのだろうか。とりあえず /usr/local/pspdev/psp/sdk/[include|lib] に
コピーしたが、どこかのディレクトリに置いといて -I オプションで指定するの?
みんなはどうしてる?
// コンパイルできました。560 ありがと。
>>568 はプログラミングの基本から勉強したほうがいいんじゃないか
570 :
sage :2008/11/08(土) 21:49:56 ID:IaGtMz/L
確かに。そうします。 とりあえず、MAP THIS! がコンパイルできたので、GPS からのデータでいろいろ遊べそうです。 お世話になりました。 # ちなみに、CFW の include と lib の解は?
正解なんて無いから好きにしろ psp開発と関係ない話になるからlinux板なりcygwinスレなりに行きたまえ
SDL使ってて画像の反転処理を書こうとしたらメモリの読み書きがめちゃくちゃ遅いんだが… //512x512 32bit //gfx[0] gfx[1]はmallocで確保 for (y = 0; y<512; y++){ for (x = 0; x<512; x++){ ((int*)(gfx[0]))[x+y*512] = ((int*)(gfx[1]))[(511-x)+y*512]; } } 描画無しの処理だけで20fpsしか出ない… PSPでのメモリ操作を高速化するコツとかある?
SDLの時点で・・・ 単なる左右を入れ替えならGu使えばUV座標を替えるだけで 終わる話なんだけどなw 何作ってるの?
実際にベンチマークとらんと早くなるか分からないが int *dst, *src; src = gfx[0]; dst = gfx[1]; for (y = 0; y < 512 * 512 y += 512) { for (x = 0; x < 512; x++) { dst[y + x] = src[(511-x)+y]; } }
>>573 SDLが原因かと思って処理の部分だけ書いたソースを張った結果が上の通り…
Guの使い方わかんねww
とりあえず格げーもどきを作ろうと思って反転処理書いてたんだけど、拡大縮小使うともっと遅くなるんだろうな…
>>574 即レスd
1個目のforに;が抜けてたので足して実行したけど24fpsだった
ちなみに何も処理しない場合は689538fps
Guの使い方調べるしかないのか…
Guの基本的な使い方はサンプルソースは探せばでてくるよ。 それに環境構築した際にサンプルも一緒にローカルに展開されてるから。 あとGuのUV座標反転とかは過去スレとかにもあるはず。
>>576 把握
今後もGu使えたら便利だろうし、ちょっとサンプル漁って来るわ
レスくれたみんなありがとう
なんかvram直書きだと一気に書くと 最後の方ちゃんと書かれないのはなんか原因あるんかな? マッチ棒みたいなのが残る…
てかみんなで詳しいapiとか書きあってwikiつくらないか? SDKについてるサンプルの間違いとかたまにあって 大変だから日本語の解説いるよね? 禁断の書持ってる人そんないないんよね?
>>535 新聞に書かれた数字とかだよ。
全部回らないとわからないW
ごばーく
>>580 sceGuClearしてから書き込めばおkってこと?
ああ、深く考えずにその命令組み込んでたが CPUのキャッシュをメモリに戻すってことか。
PSPで実行する際に1.5カーネルが入ってないといけないときってどのヘッダをリンクしたとき?
日本語ヘルプ流し読みしたいな 出版されてりゃな〜・・・
とりあえず誰か@wikiでいいから登録してくれ 内容は頑張って書くから
ちなみに2chのスレでもらった内容のコピペは禁止ね。
>>590 別にいいんじゃね?
とりあえずまとめとけば。
Cygwinでpsptoolchainをコンパイルすると起きるバグがあるんだっけ? Linuxでしかコンパイルしたこと無いからわからないんだが、誰かちょっと説明してくれないか?
>>592 http://pspnfo.orz.hm/index.php?Development の
* Devel カテゴリ
o autoconf
o automake
o binutils
o bison
o doxygen
o flex
o gcc
o make
o readline
o subversion
* Doc カテゴリ
o textinfo
* Libs カテゴリ
o ncurses
o gmp
o mpfr
* Utils カテゴリ
o patch
* Web カテゴリ
o wget
たぶんこれでおkなはず
>>587 例の文書ってまだshareとかnyとかでながれてんのかな?
そういえばEmu on PSPのところ同人だしてるようだけど こういうソフトウェア面の内容って扱ってないの?
>>584 おーサンクス
ってか普通ライトキャッシュはデフォでvram除外するよね
なんだpsp
お、void sceKernelDcacheWritebackInvalidateRange(const void *p, unsigned int size)
ってライトキャッシュの除外の指定か
これつかお
そういやcygwin自体のセットアップで、 "Default Text File Type" の項目を "Unix / binary (RECOMMENDED)" にしておかないと "../scripts/001-binutils-2.16.1.sh: Failed." ってエラーが出て環境構築ができなかったな。 ググってもこのエラーの解決策が見つからなかったから一応報告
>>597 ずっと俺が悩んでたものがこんな簡単に解決…だと…
単発自演臭がしてきた・・・
解決したと思ったらやっぱりエラーな件
エラーメッセージも書かないやつなんかほっときなって
そのまんま"../scripts/001-binutils-2.16.1.sh: Failed."なんだが
>>603 とりあえずウチの環境では>597で直ったという報告なので
それ以外のことは分からない。すまん
2Dのvram転送の事なんだけど、 swizzleはアドレスの昇順だと遅くなるからばらばらに(ブロックとかにして) 転送ってことでそ? で、sliceって何?
>>605 データはそのままで、表示するテクスチャのサイズや表示する範囲などを2のn乗で指定する
だった気がする
調べてみた
http://ameblo.jp/pspdevblog/ >★「slice」について説明しよう。
>psp の構造はよく知らないんだけど、Guで 32bytes だか 64 bytes を超えると「とても遅くなる」なんか「ページブレイク(つまりキャッシュブレイク)」とか
>しちゃうみたい。詳しい構造は良くわかんないのダケド。。。
>
>要するに、GuでVRAM使う場合は、イメージとしてVRAMの 64 bytes 毎に縦線が引いてあると思ってくれれば良い。この縦線を避けて転送しなければ、「とても遅くなる」。
>PSPSDKサンプルのblit.cの「advancedBlit()」では 32bytes で縦切りしてある。このまま、この値を色々換えて実験してみると、確かに「32bytes の場合が一番速い」。
>( 64 bytes と殆ど変わらないが)
さっぱり分からん。
64bytes区切りの場合は、32bitカラーなら縦に16ドットで細切れにすればいいのかな?多分
つまり、8の倍数区切りじゃないと遅くなるよってこと、だと思う。 ぶっちゃけ32区切りなら128までいけた気がする。
なるほど。 アホな俺は何を思ったのか、テクスチャのサイズを256x256pxまでに制限しただけで終わらせてたorz
>>607 補足しておくと、Guの仕様を決める際の内部の妥協点じゃないかな?
sliceの横幅が32,64,128とか言われてるのを考えると。
で何の妥協点かといえば512x512ドットのテクスチャが最大の
GPUシステムで1ポリゴンあたりどのくらいのドット数が使われそうか。
2dで線を簡単に引くみたいな関数かサンプルないかな? sdkのやつ3Dだから読解むずかしすぎる。
>>611 SDKの線、三角、四角、多角形程度が理解できないようじゃあ
PSPの非公式開発は厳しいよ。
めんどいけど つくるか
まぁ同意せんでもないが、そんなことも無いぞ。 SDLを使ってVRAMの任意の位置に点を打つ方法さえ学んでしまえば Bresenham's line algorithmを使って線を引けるようになるまでは一瞬だろう。
sceGuDrawArrayの第一引数 GU_SPRITES GU_LINE_STRIP GU_TRIANGLES GU_TRIANGLE_STRIP GU_LINES GU_POINTS でぐぐってみなよ。 言語を日本限定じゃなく海外も含めて。
PSPのGu,GumはほとんどOpenGLみたいなもんだからかなり簡単なほうじゃね まあ行列操作した後sceGumUpdateMatrix()呼ばないと操作が反映されない みたいな細かい罠が多少あるけど
とりあえずwikiに開発環境/linuxのページ書いた
_、_ ( ,_ノ` ) n  ̄ \ ( E) グッジョブ!! フ /ヽ ヽ_//
/\ . ∵ ./ ./| もうわからん!!! _, ,_゚ ∴\// (ノ゚Д゚)ノ |/ / /  ̄ ̄ ̄ ̄ ̄ ̄ ダメ元で聞くけど、同じ関数一回目はちゃんとretしてきて 二回目でfloatの計算のとこで固まるんだけど、 だれか詳しい人いたらテレパシーで教えて ほかのコンパイラではちゃんと動くのに…
エスパーじゃないと無理だろjk…… とりあえず浮動小数例外をオフにしてみるとか pspfpu_set_enable(0);
ごめん 0で割ってた
マーフィーの法則 ・スレに書き込んだ直後にバグの原因が判明する ・法則を利用しようとして書き込んだときは発動しない
wikiなかなか良くなりそうな予感がする。 テンプレ入り決定だな
wikiに超期待。 特に、グラフィックに関して、日本語の説明が付きそうなのがいい。
wikiに
>>11 のリンクも入れてください><
では開発がんばってください応援してます
wikiにライブラリの構築方法も入れるんですよね?ね?
configure: error: cannot guess build type; you must specify one make: *** [builds/unix/unix-def.mk] Error 1 ../scripts/003-freetype.sh: Failed. さきほど書き込んだものですが、cygwinだと、このようなエラーが出て止まって しまいます。解決しようと、shファイルを見てみたのですが、分からずじまいで 困っています。 このエラーメッセージから解決方法が分かる方いませんか?
何をコンパイルしようとしているんだ? freetype?
>>629 psplibrariesを全部インストールしてるのね
必要なときに必要なものをインストールすればいいんじゃね
>>620 ,630
一括で入れようとしています。
svnでとってきた後
./libraries.sh
でインストールしようとしたところ、失敗しました。
>>628 一応入れる予定だよ
cygwinでpsptoolchainってIntel x64系のCPUがAMD64系と誤認識される以外のバグってあったっけ?
>>634 AMD系CPUだとcygwinがメモリ食いつぶすらしいが今までに報告が1件(前々から食いつぶす食いつぶす言ってる奴の)
くらいしかないから入れても入れなくても。
食いつぶすならMingwinやVPCとかで仮想環境作ってやればいいし
configure: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used.
checking build system type... /bin/sh: ./config.guess: No such file or directory
エラーメッセージを見直した結果、config.guessが無いということらしいのですが、
それらしいファイルが見つかりません。
configureを見てなんとかしたかったのですが、俺には無理でした。
>>634 心待ちにしています。
wikiできたら書き込もうかと思ってたけど、 神が一人でがんばってるみたいだから とりあえず様子見。 ってゆっても、apiリファレンスの 自分がわかる部分と いままでの自分のつまずきポイントと wavファイルの再生とかしかかけないけど…
swizzlingって意味わからなかったけど、がぶ飲みって意味なんだな 16バイト×8列をがぶ飲みするってことか
俺は勝手に書き加えてるけどな wikiからここへのリンクとか
>>635 そういえば1件だけだな。
Athlon64だっけか。
他の人はどんな環境でやってるんだろ。
>>636 config.guessがなくて推測できないなら
build typeを自分で指定すればいいのかな
003-freetype.shを
〜./configure --build i686-pc-cygwin --host psp 〜
>>642 の方法を試したところ、
./configure --host psp
これを
./configure --build i686-pc-cygwin --host psp
に書き換えたら、freetypeは通過できました。
感謝です。
しかし、libbulletmlでまたも失敗。
calc.yy:128: error: 'strncmp' was not declared in this scope
formula-variables.h: In member function 'Val_ Param<Val_>::value() const [with V
al_ = float]':
calc.yy:161: instantiated from here
formula-variables.h:38: warning: comparison between signed and unsigned integer
expressions
make: *** [calc.o] Error 1
C++は読めないorz
ついでにwikiのlibpngのところを、zlibに依存に直しておきました。
>>644 >ついでにwikiのlibpngのところを、zlibに依存に直しておきました。
修正ありがとうございます
寝る前に書いたから間違えたっぽいorz
よりによってPSPでlibbulletmlってw
知らないので検索したが
弾幕記述言語
ですか
構文解析とかしてるんですかね
>>644 エラーの内容はぜんぜんわかりませんわ
弾幕シューティングでも作るつもりじゃなければいらないでしょ。
>>644 該当行の
-
がおかしいんじゃね?
intがおかしいくらいはわかるだろ
なんか毎日PSPの開発してるとpspがいとおしくなってくるな
sceGuDrawArray(GU_LINES 呼び出して一瞬表示されるけど、すぐ消えるのって なんでだろ....〆(・ω・` )カキカキ
>>651 Gu命令の発行手順が間違ってる(根本的に理解できてない)
>>651 そもそもプログラミングやったことないだろ
>>644 〜\psplibraries\build\libbulletml\src\calc.yyの109行目あたりに
#include <string.h>
を追加
gcc 3ではヘッダをインクルードしなくても使えてたのでエラーにならなかったのでしょう
PSPVNCのOSK対応版マダー
>>654 その方法で解決できました。
ありがとうございます。
これから、ライブラリを使ってみたいと思います。
>>665 OSKの意味解ってる?
OSK自体はもう搭載してるよ
書き方が悪かった PSPのFW内蔵OSKな というか日本語入力出来て使い勝手がそこそこならそれでいい
アンカーミススマン 日本語入力はPSPVNCじゃなくてVNCサーバ側のPCに実装するべき機能だから PSPのFW内蔵OSKには対応してくれないと思う。
そうか…VNC鯖側が日本語入力対応してないのね
多分。あれはキーコードを送っているはず。
>>660 スクリーンキーボードを呼び出してできないんだっけ?
キーコードは送れなくてもスクリーンキーボード経由なら
問題なさそうだが。
しかしネットブックの普及で急激にPSPで自作アプリ用意して
何かするという意義が薄れたな。
どこの世界にも居るけどこのスレには嫌なやつ がずっと前から一人いるな
あるサイトを見て初めてしたんですけど PSP1000と2000とじゃmakefileの書き方が変わってくるんですか?
>>665 かわらないが、1.50カーネル向けの設定とかがあるなら2000では動かない
wikiの更新の際の画像認証はずしてくれ。 面倒でやってられん。 荒れたら対策する方向でいいだろ。
一応画像認証外しといた
wikiのrtcのとこ間違えてテキストにしてしまったから なおしてくれ
ライブラリの追加にSDL_gfxとかはいらないかなぁ
gfxってなに
PSPの自作ソフトをソースとともに公開するのって まずくないよね?
自分で作ったやつならいいだろ
むしろ、SDLとか使ってると公開しないと拙いような。
PSPIRC日本語対応まだー
PSP_MODULE_INFOと同じような効果を持つ命令って 他にもあるんですか? 適当に拾ってきたPSPのソースのmain.cに PSP_MODULE_INFOをいれてコンパイルしようとすると 「多重定義です」みたいなエラーが出てしまいます。
適当に拾ったそのソースを配布しているところを 紹介したほうがいいんでないかい?
エスパー待ち
ソースうpとまでいわないからせめてエラーメッセージそのまま貼り付けろよ
PSP_MODULE_INFOってアセンブラが定義してあるんだな 初めて知った そもそもPSPで完成しているソースに勝手に入れたらだめじゃないのか
>>680 defineのPSP_MODULE_INFOをもういっかい定義しようとしてんでない?
PSP_MODULE_INFOはpspmoduleinfo.hで#defineしてある
こんな感じで展開される。↓
__asm__ (
" .set push\n"
" .section .lib.ent.top, \"a\
", @progbits\n"
" .align 2\n"
" .word 0\n"
"__lib_ent_top:\n"
" .section .lib.ent.btm, \"a\
", @progbits\n"
" .align 2\n"
"__lib_ent_bottom:\n"
" .word 0\n"
" .section .lib.stub.top, \"a\
", @progbits\n"
" .align 2\n"
" .word 0\n"
"__lib_stub_top:\n"
" .section .lib.stub.btm, \"a\
", @progbits\n"
" .align 2\n"
"__lib_stub_bottom:\n"
" .word 0\n"
" .set pop\n" );
extern char __lib_ent_top[], __lib_ent_bottom[];
extern char __lib_stub_top[], __lib_stub_bottom[];
SceModuleInfo module_info __attribute__((section(".rodata.sceModuleInfo"), aligned(16), unused)) = { 0, { 1, 1 }, "TEST", 0, _gp, __lib_ent_top, __lib_ent_bottom, __lib_stub_top, __lib_stub_bottom };
↑終わり
startup.sとpspmoduleinfo.hの英語解説を見ればわかるが、この構造体みたいな
ものはall PSP executablesに必須のものらしいのでがんばって。
startup.sの最初にその構造体の中のアドレスをgpに入れてるから重要っぽいよ
よくわからんけど
かそつてる? PSPで自作ソフト作ってる人ってかなりの マイノリティなのか?
>>686 ある程度の需要を満たすソフトはあるしなあ。
あとはPSPのインターフェースゆえの作っても意味のなさそうな
ソフトはできてないくらいか。
>>680 です。
おそくなってすいませんでした。
たくさんのレスに感謝します。
>>681 KETM 0.9です。
ttp://dl.qj.net/KETM-v0.9-Gaming-Consoles-PSP-Homebrew-Games/pg/12/fid/5272/catid/195 >>683 /usr/local/pspdev/psp/lib/libSDLmain.a(SDL_psp_main.o): In function 'sdl_psp_setup_callbacks':
psp/SDL_psp_main.c:71: multiple definition of 'module_info'
main.o:/home/***/src/main.c:25: first defined here
collect2: ld returned 1 exit status
make: *** [ketm.elf] Error 1
と出ます。
弄った所はmain.cの16行目に
PSP_MODULE_INFO("ketm",0,1,0);
を追加しただけです。
>>684 普通はPSP_MODULE_INFOは最初に書かれてる物だと思ってたのですが
ketmのソースファイルのどこにも書いてなかったので追加しました。
この命令が無くてもuserモードとkernelモードを切り替えることは出来るのでしょうか?
>>685 定義の所は弄ってないので多分無いかと思います。
>startup.sとpspmoduleinfo.hの英語解説を見ればわかるが、この構造体みたいな
>ものはall PSP executablesに必須のものらしいのでがんばって。
>startup.sの最初にその構造体の中のアドレスをgpに入れてるから重要っぽいよ
まず理解できるように頑張ります。
そもそもPSP_MODULE_INFOを入れた理由は、1.50→3.71が出来るのかを試してみたかったからなのですが
そのやり方としては
@main.cにPSP_MODULE_INFO("適当な名前", 0, 1, 0);
AmakefileにBUILD_PRX = 1とPSP_FW_VERSION = 371の追加
Bkernelに関わる命令をソースから消し、その命令に対応した命令を書いたprxの作成
という感じでいいのでしょうか?
>>688 main.cの25行目にあるmodule_infoをなんとかしろ
ってことかな
module_info(PSP_MODULE_INFO)がmain.cより先にpsp/SDL_psp_main.cの71行目で宣言されてるぞ(#゚Д゚)ゴルァ!!って事だろ?
>>688 SDLの場合、SDL側でPSP_MODULE_INFOが呼び出されている
>>689 ソースの1-28行目までです
#include "main.h"
#include <psppower.h>
extern SDL_Surface *screen;
extern int keyboard[];
PSP_MODULE_INFO("ketm",0,1,0);
GAMESTATE state;
GAMESTATE laststate;
int score;
int lives;
int volume=2; /* 0-3 */
int difficulty=DIFF_EASY;
char mods[20][20];
int modcount=0;
void wait(){
int i,j;
for (i=0; i<10000; i++) {
for(j=0; j<2000; j++)
j++;
}
}//25行目はここです
void readModDirs( ) {
因みに25行目の所にPSP_MODULE_INFOの位置を変えても効果はありませんでした。
>>690-691 ありました…
ありがとうございます。
一度調べたつもりだったんだけどなぁ…
馬鹿ですいません本当に
それにしても、wikiの更新なかなか来ないな。 自然消滅の流れ?
>>696 他力本願すぎだろ。
>>694 のようなライブラリに頼らなくても
すでに出回ってるサンプルで基本的なことは
できるよ。
すっかり忘れてた < Wiki 本業が忙しかったからかな…今は暇だけど
>>696 ふーww
てか誰も読んでないと思って
やる気なくなって書かなくなったわ
APIよりチュートリアル書いた方がいいなと
最後の方思ってたけど…
wiki作った人だが毎日見てるぞ BBSでもつけとくべきかな
>>699 APIそのもののざっくりした説明はローカルに環境作った際の
ソース(ヘッダ?)にコメント?で記載されててDoxygenという
ツールでヘルプ化すればわかる。
上でもdoxygenしろと書いてる人いたような・・・
>>688 のをmakeしようと思ったら
/usr/local/pspdev/psp/lib/libSDL.a(SDL_pspvideo.o): In function `PSP_CreateDevice':
SDL/src/video/psp/SDL_pspvideo.c:183: undefined reference to `PSP_GL_GetAttribute'
SDL/src/video/psp/SDL_pspvideo.c:183: undefined reference to `PSP_GL_GetAttribute'
SDL/src/video/psp/SDL_pspvideo.c:182: undefined reference to `PSP_GL_GetProcAddress'
SDL/src/video/psp/SDL_pspvideo.c:182: undefined reference to `PSP_GL_GetProcAddress'
SDL/src/video/psp/SDL_pspvideo.c:184: undefined reference to `PSP_GL_MakeCurrent'
SDL/src/video/psp/SDL_pspvideo.c:184: undefined reference to `PSP_GL_MakeCurrent'
SDL/src/video/psp/SDL_pspvideo.c:185: undefined reference to `PSP_GL_SwapBuffers'
/home/t/SDL/src/video/psp/SDL_pspvideo.c:185: undefined reference to `PSP_GL_SwapBuffers'
pspdev/psp/lib/libSDL.a(SDL_pspvideo.o): In function `PSP_SetVideoMode':
SDL/src/video/psp/SDL_pspvideo.c:423: undefined reference to `PSP_GL_Init'
collect2: ld returned 1 exit status
SDL_pspvideoとかないからSDL_imageがおかしいのかね?
とおもったらSDL_imageもインスコできね・・・
./libraries.sh 19
(略)
checking for C compiler default output file name...
configure: error: in `psplibraries/build/SDL_image':
configure: error: C compiler cannot create executables
See `config.log' for more details.
../scripts/019-SDL_image.sh: Failed.
>config.log
configure: exit 77
>configure
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=;
}
fi
どうすりゃいいんだろ
SDLを使うのをやめる
wikiのカウンター72ってなかなか多いな でも同じ人も回してるんだろうけど
707 :
名無しさん@お腹いっぱい。 :2008/11/24(月) 14:29:14 ID:d5wuK7W+
ttp://foo-bar-web.hp.infoseek.co.jp/pspide.html ↑を参考にしたんだけど・・・
Compiling: main.cpp
d:\devkitpro\devkitpsp\bin\../lib/gcc/psp/4.1.2/../../../../include/c++/4.1.2/cstdlib:115: error: '::calloc' has not been declared
d:\devkitpro\devkitpsp\bin\../lib/gcc/psp/4.1.2/../../../../include/c++/4.1.2/cstdlib:118: error: '::free' has not been declared
d:\devkitpro\devkitpsp\bin\../lib/gcc/psp/4.1.2/../../../../include/c++/4.1.2/cstdlib:122: error: '::malloc' has not been declared
d:\devkitpro\devkitpsp\bin\../lib/gcc/psp/4.1.2/../../../../include/c++/4.1.2/cstdlib:130: error: '::realloc' has not been declared
Process terminated with status 1 (0 minutes, 0 seconds)
4 errors, 0 warnings
これってDevkitpspが悪いのかな?
>>707 そこはもうずっと前に糞認定だからwikiの通りcygwin+psptoolchain入れとけ
>>706 あまり高度な集計できないみたいで
同じ人がリロードしてもカウントアップするみたいねw
もう120超えてるw
>>702 Doxygenですか。たしかCygwinをインストールするときにそんな項目があったような…
調べてみます。
ありがとうございました。
つーかSDLのインスコに手間取ってるのは何やってんだろう? 気を付けなきゃならんのはAUTOMAKEくらいだろ
>>704 Makefile見たら
-lSDL_mixer -lvorbisidec -lSDL_image -lpng -lz -ljpeg -lSDL_gfx
が必要だがちゃんと入れてるか
psplibrariesの番号なら
1, 4, 9, 11, 15, 17, 18, 19, 20
になるから順番に入れろ
pspirkeybではkubridge.hが無いといわれるからこのスレ検索して探してくれ
>>713 svn: In directory 'libpspirkeyb/config'
svn: Can't open file 'libpspirkeyb/config/.svn/tmp/text-base/pspirkeyb.ini.svn-base': No such file or directory
もうsvn自体だめなのかもしれん
>>714 checkoutじゃなくてexportでダウンロードしたらいいよ
>>715 exportにした
kubridge.hも入れた
でもエラーでるからやめた(たぶんtoolchainが最新じゃないから
もう諦めて今作ってる奴の作業に移るわ。
それにしても最初にSDLインスコしたときはコンパイルできたのに今コンパイルできないとは何事
cygwinでpsplibrariesやってみたけど詰まったのは
libbulletml(
>>644 )は
>>654 で解決。calc.yyはなんか文字化けしてたから弄らずcalc.hに書き加えた
pspirkeyb(
>>714 )は
>>715 で解決。scripts/015-pspirkeyb.shのsvn checkoutをsvn exportに書き換えて
pspirkeyb(
>>558 )は
>>560 で解決。CFW4.01M33のSDKからkubridge.hとlibpspkubridge.aをincludeとlibへ
うちはこれであとは問題なく全部通ったな
久しぶりにpsptoolchainチェックしたらリビジョン上がってたから入れるか
>>717 でなんとかできた。
>scripts/015-pspirkeyb.shのsvn checkoutをsvn exportに書き換えて
>CFW4.01M33のSDKからkubridge.hとlibpspkubridge.aをincludeとlibへ
これ鬼門だな。wikiに加えといてくれないか?
既出かもだけど、 0x04000000だとデフォのVRAMアドレスだけど 0x44000000も同じvramアドレスでキャッシュスルー なんだね。 sceKernelDcacheWritebackAll(); つかわなくてよくなる。 パフォーマンスはわかんないけど
>>718 違いとしてはカーネルモードで起動できないから、
prxでカーネル用のAPIを叩けるようにするってことじゃなかったっけか。
カーネルモードで実行するように作られてなければ、
3.71以降用にビルドするのも手間じゃない希ガス。
あとは当時からPSPSDKがどれだけ変更されたかにも依るのかな。
>>723 >違いとしてはカーネルモードで起動できないから、
>prxでカーネル用のAPIを叩けるようにするってことじゃなかったっけか。
そうだね。
でもカーネルモードでやることって
>>718 のサンプルにあるように
SIOとかくらいでしょ。
コントローラーの認識はカーネルモードじゃなくてもできるし。
カーネルモード使うアプリでも1.5カーネルを追加でいれて
リカバリーモードでカーネル選択しておけば一応OK
Filerはprx叩かずにカーネルモードに入っているみたいだな flash0にアクセスしてるし どうやってんだろ
5.6からできてるね 物凄く気になる 氏は教えてもらったらしいが(更新履歴に名前も書いてるけど忘れた)俺は知らん名前だった
vertex二つでsceGuDrawArrayなんかいも呼び出すのと vertexいっぱいでsceGuDrawArray一回よびだすのて パフォーマンスそんな違うもんなんかな? 結局 sceGuFinish(); sceGuSync(0,0); のとこで処理されるからそんな違わないよね?
かなり違う
>>729 ためしに一定時間あたりにどれだけ処理できるか
ベンチマークしてみればいいんじゃね?
でもPSPのGuってあれこれできるから、頂点をまとめるだけだと
描画順の管理だとかが煩雑になるんだよな。
ここって実は自作の人以外に… ゲームメーカーの正式にsonyと契約してる人も 見に来てたりして。
>>732 どこからそう思ったのか知らんけど・・・
まあゲームメーカーと言えど、PSP開発に手を出したばっかりだったり
PSP開発はすでにやってるがそういうメーカーに入った新人だと
自作アプリ作ってる一般人を装ってここに来てる可能性もあるわね。
C言語の宿題丸投げスレには現役の講師が生徒に出す課題を
スレ住人に作らせてるとの疑惑まであるくらいだし。
いやこのレベルの会話だと参考になることないからw メーカーならマニュアルあるし
>>734 あーそりゃ非公式な開発はどうしてもねえ。
誰かが英語の非公式ヘルプみたり海外のソースから
APIなんかの使い方を模索して、それが公開でも
されない限りは、おんぶに抱っこのレベルの人は
先にすすまねーからな。
簡単な説明なんてインクルードに書いてあるのにな なんか確かに見てるとレベルがかなり低い人(あんま知らない人)と 高い人の2種類で真ん中が居ない印象をうけるわ このスレ
GuとかAudioとかキー入力周りは付属のdocだけでも大概の事は分かるから困らなくね ps2dev.orgのフォーラムのログ見ればsdkに含まれてないサンプルもゴロゴロ見つかるし APIの解析とかはえろい人に任せとけばおk
同感 PSPのフルパワーを引き出さないといけないプログラムは俺のレベルじゃ書けないし、 俺程度で作れそうなレベルのサンプルならごろごろしているから全く困らない 強いて言えば、blitのサンプルの意味がわからないんだよな sizzleオプションだと使うテクスチャが違うってのはわかったけど バッファサイズも同じだし、縦横の大きさも同じなのになんであんなに速度が違うのか不明
>>738 swizzle処理は、Guが処理しやすいようにデータを並び替える
並び替えるだけだからバッファサイズも縦横も同じになる。
swizzleした後のテクスチャでないと表示できないんだよ swizzleしてないテクスチャを転送すると毎回swizzleされる
その並び変えが出来ているか出来てないかはどこで判断するの? テクスチャってのはただのピクセルの羅列だと思っていたんだけど…
sceGuTexMode(GU_PSM_8888, 0, 0, SWIZZLE_ENABLE);←多分ここらへん
VFPU用に最適化されたmath.hってあるの? というかVFPUがあるのは知っているが使い方が分からん
Gumをvfpu使った実装に差し替えるならリンクするライブラリの変更だけでおk -lpspgum を -lpspgum_vfpu -lpspvfpu に vfpuの使い方はpspgum_vfpu.cを見れば分かるんじゃね 俺はアセンブラが全く分からないし覚える気もないので無理だったが('A`)
>>744 あーーーーーーーーー
それで今までなんだろうと思ってた部分の納得いったわ。
マジサンクス。
>>741 できてるかできてないかは、自分で判断するしかない。
SWIZZLEした画像をあえて外部で用意してから自分で作った
自作アプリに読み込ませてもいいけど、そうなると
外部ツールの開発もいるしね。
そんなに難しく考えないで、SWIZZLE変換関数が
ネットに転がってるんだしそれを通せば勝手に
並び替えしてくれてる。
>>742 thx!! 見落としてた、なんて俺はあほなんだ…
sdlBasicの日本語対応版って要望あるかな?
質問(疑問)です。 あるプログラムがどうやって動いてるのか確認したかったので そのプログラムのソースの中に void kakunin(char *messa[]){ //messaに直前のコードを入れる SceCtrlData matu; pspDebugScreenPrintf("%s\npush CROSS\n",messa); while(1){ sceCtrlReadBufferPositive(&matu, 1); if (matu.Buttons & PSP_CTRL_CROSS) break; } pspDebugScreenClear(); } のような関数を作り使用したのですが、Xボタンを押しっぱなし又は強く押すと何故か プログラムが終了してXMBに戻されてしまいます。そこで void kakunin(char *messa[]){ SceCtrlData matu; pspDebugScreenPrintf("%s\npush CROSS\n",messa); while(1){ sceCtrlReadBufferPositive(&matu, 1); if (matu.Buttons & PSP_CTRL_CROSS) { pspDebugScreenPrintf("wait"); sceKernelDelayThread(500000); break; } } pspDebugScreenClear(); } と変えてみたところ、なんとかその状態からは抜け出すことが出来ました。 しかし解決はしたものの、修正前の方は何故プログラムが終了してしまうのかよくわからないんです。 誰かわかる人がいたら教えてもらえませんか?
どこが間違えているのかわからないな
>>748 busy loopになるとダメなんじゃね?
whileの下の行にsceKernelDelayThread(0);を追加してみるとか
どうでもいいが
printfデバッグするならpsplink使ってstdoutとかに出力したほうが早いんじゃね?
>>751 stdoutするやり方が分からなくて困る
Homebrew BOF
ゲーム機など開発環境が公開されていないハード、及びマイナーハード開発者の集いを企画しています。
日時:コミケ(12/28-30)前後 当日なら17-19時くらい + 宴会
場所:東京都区内
費用:会場実費(0-数百円?)
たぶん日本全体で100人もいないんじゃないかと思いますが、
コミケで上京する人もいるでしょうからその時期を予定しています。
http://www27.atwiki.jp/homebrew/ マルチすまん
>>756 それが何で日本語化するとどう特なのかさっぱりわからんw
まだ解決の報告が無いようなので。 psptoolchainインストール時に ../scripts/001-binutils-2.16.1.sh: Failed. のエラーが出てインストールできない場合、 環境変数の指定が間違っている可能性があります。 export PSPDEV=/usr/local/pspdev が、 export PSPDEV=usr/local/pspdev export PSPDEV=user/local/pspdev export PSPDEV=/usr/local/pspdev/ だったりすると失敗するようです。
>>759 上二つは普通にアウトだが
一番したのはセーフじゃね?Linux的に考えて。
推測だけど、パスの連結時に/usr/local/pspdev//* みたいな形になってるのかな。
"//"とか入れてもスラッシュ一個として扱われるのかorz 当て推量ですまんかった
usrをユズルと呼ぶのは変でしょうか スラユズルローカルスラビン /usr/local/bin
スラが一個抜けた
psp友達に返したら暇になってもうた(´・ω・`) でも、ある程度遊んだし新しいのは高いしな…
>>763 ユーザーか何かの省略表示でしょ
linuxやDOSのコマンドとかって何かと省略するのが多いし
wikiにubuntu8.10での構築紹介乙 8.04なら余計なことせずにエラーなしで全部いけるんだけどな
>>766 それ知ってのことだろ
ユーザー/ローカル/バイナリー
なんてだれでも(ry
>>768 知っての上ならなんでもいいんじゃね。
DOSのdir ディア
unixnls エルエス
とか適当に読んでるしね。
>unixnls エルエス unixのls エルエス
dirはdirectoryの略っぽいからディルって読んでいるが lsはlistの略?よくわからんから、適当にリスって読んでいる
>>771 list segmentsだったような
俺もリスとディルと読んでる
usrはUSeR説とUser Services and Routines説とある。 あと俺はエルエス、ディア派。
wikiの更新がない・・・
>>775 ィ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;゙t,
彡;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ヽ
イ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;r''ソ~ヾ:;;;;;;゙i,
t;;;;;;;リ~`゙ヾ、;;;;;;;;;;;;;;;;;;;;ノ i,;;;;;;!
゙i,;;;;t ヾ-‐''"~´_,,.ィ"゙ ヾ;;f^! / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ト.;;;;;》 =ニー-彡ニ''"~´,,...,,. レ')l. < おまえは何を言っているんだ
t゙ヾ;l __,, .. ,,_ ,.テ:ro=r''"゙ !.f'l. \____________
ヽ.ヽ ー=rtσフ= ; ('"^'=''′ リノ
,,.. -‐ゝ.>、 `゙゙゙゙´ ,' ヽ . : :! /
~´ : : : : : `ヽ:. ,rf :. . :.: j 、 . : : ト、.、
: : : : : : : : : : ヽ、 /. .゙ー:、_,.r'゙: :ヽ. : :/ ヽ\、
:f: r: : : : : : : : !丶 r-、=一=''チ^ ,/ !:: : :`丶、_
: /: : : : : : : : :! ヽ、 ゙ ''' ''¨´ / ,i: : : l!: : : : :`ヽ、
〃: :j: : : : : : : ゙i `ヽ、..,,__,, :ィ":: ,ノ:: : : : : : : : : : : :\
ノ: : : : : : : : : : :丶 : : ::::::::: : : : /: : : : : : : : : : : : : : : :\
>>774 こういうものを作ってるけど改善したいとか
具体的な要望がないと書きにくいな。
APIの解説だけ書かれても実際どう使えるとかわからないと
意味ないし、製作側のレベルもわからないからな。
>>777 パッド、ボタンの入力を取得する方法
GUの正しい使い方
音楽再生のやりかた(wavだけでなくoggやmp3も
3Dのファイル形式(.x .obj .mqo .3dx等)の読み込み、表示のやりかた
アドホック通信のやり方
ファイルのリスト表示のやり方
動画再生のやり方
知ってるのも書いたけど開発にさしあたって必要なのはこんなもんだと思う。
>>778 知っている奴の解説をwikiに書いたら?
>>778 すべてにおいておんぶに抱っこだなw
マジで非公式開発の本が書けるレベルだなw
パッドの取得だけなら #include <pspctrl.h> SceCtrlData pad; sceCtrlSetSamplingCycle(0); sceCtrlSetSamplingMode(PSP_CTRL_MODE_ANALOG); while(1) { sceCtrlReadBufferPositive(&pad, 1); if(pad.Buttons & PSP_CTRL_UP) if(pad.Ly) if(pad.Lx) } でいいけど関数やクラス化して楽に取得するにはどうやれば効率いいんだろ
> 3Dのファイル形式(.x .obj .mqo .3dx等)の読み込み、表示のやりかた これはPSPと関係なくね
>>782 無いかもしれないしあるかも知れない。
PC上だとライブラリとかあるけどPSP向けには
ないから自分でローダー作るとかしないとダメだしね。
PSPの開発になると車輪の再開発じゃないけど
それに近いレベルのこともしないとだめだけど
そこも解説ほしいってことでしょ。
じゃあ
>>376 みたいにアニメーションするにはどうやればいいか解説よろしく
では画像一枚一枚の表示のしかたの解説よろしく
>>786 表示する画像のフォーマットに対応したライブラリを使って画像データを取り出し、
VRAMにコピーすればいいと思うよ
それだと3次元空間を自由に動き回ったり3Dモデルを回転させて色々な向きから眺めたりできなくね
>>788 すべてのパターンの画像を用意しておけばいいと思うよ
それだと6.5TBくらいの画像を用意していないとダメだから話にならないな
>>790 じゃあ、3Dのモデルを用意して、テクスチャとかペタペタ貼り付ければいいと思うよ
ただモデル表示するだけなら
>>352 のソースを見れば分かるので動かす方法を教えてくれ
このスレはチャットスレだったのか…
なんか確かに矛盾点が
マジレスすると描画時間における頂点位置を毎回計算する
797 :
783 :2008/12/07(日) 00:18:33 ID:yCTyfGa9
>>792 動かす方法はメッシュフォーマット依存だな。
まあキーフレームとかボーンとかその辺のデータ
をベースにアニメーション管理するんだろうけど。
xファイルに関してはマイクロソフトがすでにアニメーション用
API用意してるので、自分でフォーマットなんかを解析して
PSP側で独自にライブラリなんかを起こすしかない。
(これは俺も調べたけど情報が出てこないんだよな・・・
上ででてたmqoに関してはロードして表示のサンプルは公開してたけど
アニメーションに関しては公開してないでしょ?
つまりそれだけ手間暇かかってて無償じゃあできないレベルだよ。
objは海外のサンプルでローダーは見たけどアニメーション部分はよく
わからなかったな。
まあ頂点データを再計算してアニメーションする機能を実装するのが
面倒ならすでにポージングさせた座標を出力してアニメーションさせるしかないな。
上の方でも出てたけどメモリの読み書きが遅い(?)みたいだから画像を連続で表示させると 20fpsぐらいしか出ないんだよね sceJpegDecodeMJpegってのが使えれば速くなりそうなんだが… なんかスクラッチパッドってのを使えば速くなるっぽい?(Filerの更新ではスクラッチパッドの 利用で画像の展開を高速化したって書いてある) 標準機能でのmp4の再生方法がわかれば静止画を使う必要も無いんだが… あと、GUで転送する画像のα値を一気に指定したりできる?(元のα値*0.5みたいに) 他にもピクセル単位でα値を書き換えたりしたいんだが、メモリの書き込みが遅い… それとGUで処理した画面をテクスチャとして使用したいんだが、GUの処理先とか随時変更できる? 複数の画像でαブレンドした画像にマスクつけて画面に貼り付けたりしたいんだが、手動でやるとメモリの書き込みが(ry 質問ばっかりですまんです…
sceGuColor()かsceGuDrawArrayの頂点カラーでアルファを設定すればいけるんじゃね レンダリング結果をテクスチャにする方法はGuのサンプルのrendertargetとかshadowprojectionとかを見るといい VRAMにテクスチャ領域を確保してsceGuDrawBufferListでそこにレンダリングするように設定するだけだが
>あと、GUで転送する画像のα値を一気に指定したりできる?(元のα値*0.5みたいに) >他にもピクセル単位でα値を書き換えたりしたいんだが、メモリの書き込みが遅い… 二つほどある。 ひとつはCLUTを使う。 ただし1テクスチャの最大色数が256色になるので工夫が必要。 でも少ない手数で一瞬でアルファから色まで変更できる。 もうひとつはsceGuBlendFuncを使う。 テクスチャに設定されたアルファ値を元に合成 sceGuBlendFunc(GU_ADD, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA, 0, 0); アルファ値に依存せずに合成 その1 sceGuBlendFunc(GU_ADD, GU_FIX, GU_FIX, 0x7f7f7f7f, 0x7f7f7f7f); アルファ値に依存せずに合成 その2 sceGuBlendFunc(GU_MIN, GU_FIX, GU_FIX, 0xffffffff, 0xffffffff);
>>799 頂点カラーの意味がわからんかったが、こういうのに使えるのか
sceGuColor()も見ておく
レンダリング結果をテクスチャにするサンプルもちゃんとあったんだな…
>>800 CLUTだと書き込む量が少なくて済むけど256色が最高だから難しいな…
sceGuBlendFuncはサンプル見てもいまいちわからんかったけどちょっと試してみる
二人とも丁寧に教えてくれてdクス!
>>801 基本は
sceGuBlendFunc(GU_ADD, GU_SRC_ALPHA, GU_ONE_MINUS_SRC_ALPHA, 0, 0);
でGPUに描画させて、特定の処理をさせたい場合は
sceGuBlendFunc(GU_ADD, GU_FIX, GU_FIX, 0x7f7f7f7f, 0x7f7f7f7f);
のような感じで指定すればOK
後ろの2つの16進数がアルファ値かな?
>>802 なるほど、FIXの場合は後ろの値を弄れば色々できるのか
GUで色々なことができるのにほとんど理解してなくて使わないのは勿体無いなぁ…
自分的にはGUに関しての情報がwikiに充実してくれたらうれしいです
>>803 そそ
あと第一引数の指定でVRAMにおかれてる色情報とテクスチャの
色情報の合成の仕方が変わるから。
doxygenで作ったマニュアルなんかにその計算や判断条件が書かれるよ。
doxygenで生成されるマニュアルからの転載 void sceGuBlendFunc ( int op, int src, int dest, unsigned int srcfix, unsigned int destfix ) Set the blending-mode. Keys for the blending operations: * Cs - Source color * Cd - Destination color * Bs - Blend function for source fragment * Bd - Blend function for destination fragment Available blending-operations are: * GU_ADD - (Cs*Bs) + (Cd*Bd) * GU_SUBTRACT - (Cs*Bs) - (Cd*Bd) * GU_REVERSE_SUBTRACT - (Cd*Bd) - (Cs*Bs) * GU_MIN - Cs < Cd ? Cs : Cd * GU_MAX - Cs < Cd ? Cd : Cs * GU_ABS - |Cs-Cd| Available blending-functions are: * GU_SRC_COLOR * GU_ONE_MINUS_SRC_COLOR * GU_SRC_ALPHA * GU_ONE_MINUS_SRC_ALPHA * GU_DST_ALPHA * GU_ONE_MINUS_DST_ALPHA * GU_DST_COLOR * GU_ONE_MINUS_DST_COLOR * GU_FIX Parameters: op - Blending Operation src - Blending function for source operand dest - Blending function for dest operand srcfix - Fix value for GU_FIX (source operand) destfix - Fix value for GU_FIX (dest operand)
fixてことはテクスチャやマテリアルのアルファ値は使われなくなるが それでいいのか?
>>806 合成するテクスチャなんかの形状もよくわからんし
>>805 見て
自分の求める合成方法を探してもらうしかねーんじゃね?
なんだsmjpegってSDLのかよ・・・
つーか
>>778 のどれかマダァ?(・∀・ )っ/凵⌒☆チンチン
lightMP3のpspaudiolib.hでPSP_NUM_AUDIO_CHANNELSが1になっていたので、 4に変えたら再生が途切れ途切れになってしまいました。 複数チャンネルで使いたいのですが、どうすれば良いのでしょうか。
オーディオチャンネルって0〜3じゃないの?
>>809 pspaudiolib.h pspaudiolib.c はSDK書いてる人たちが
オーディオ関連をさらに使いやすくしたものだとあれほど・・・
ローカルにソースあるよ。
でもうちの場合すでにPSP_NUM_AUDIO_CHANNELSは4だったな。
で、使えるのは
>>811 の言うとおり4個使えるからchナンバーは0〜3
で前から疑問だったんだがPSPって確か8個使えた記憶があるんだけど
モノラルで8ステレオにしたら4ってことでOKなのかね?
>>812 効果音8つ設定してさらにBGM流せるんだが
>>813 wavサンプルで出回ってるやつで効果音鳴らせるってこと?
あの出回ってるソースの効果音部分って1chで複数効果音を
被せてるよね
>>814 ああそうなのか〜
それとは違うのか
メイン処理が重いとかそっちじゃないのかね
ステレオ音声を再生できるハードウェアチャンネルが8個あるのに わざわざ自前でmixするとかどんだけ効果音鳴らしまくりたいんだよ
>>816 いや、自前でmixというよりは出回ってるサンプルソースくらいしか
情報がないのでmixしてるのかどうかわからないんってのもあるんじゃないの?
でやっぱ8個あったのか。
pspaudiolibで4個に絞ってるから何か理由があるんかね?
>>812 えっと、lightMP3に入ってる奴でPSPSDKのではないです。
>>818 lightMP3は触ったことないのでしらんけど、pspaudiolibはSDKにもあるぞ。
lightMP3の作者がSDKへ提供して標準化したのか、SDKから取り込んでるのか
しらんけど。
>>820 SDKからlightMP3のは大幅に書き換わってるっぽいんですよね。
lightMP3のpspaudiolibは48000,44100Hz以外のサンプリングレートのものも再生するため sceAudioSRC*を使ってるので複数ファイルの同時再生は無理だな
>>821 なるほど、そういう事だったんですね。
何かmp3やoggを複数ファイル同時再生のサンプルになりそうなものはないでしょうか。
よくわからないけどonsとかはどうだろう
>>809 ONSのことか?
333MHzでも音声プチプチでfpsがあんまりでないからSDLでしょ
まだPSPに標準で付いてる命令は使えないみたいだし
>>822 48k,44.1kだけなら
>>816 も言ってる通り8個分使えるんだが、それじゃ不満なのかね?
周波数やビット数が違うなら自前でコンバートすればいい
8個で足りないなら自前でミキシングすればいい
ここらへんはPSPのプログラミングには関係の無い範囲だがSDLのソースとかが参考になるかもしれない
>>823 ONSだと周波数やビット数が違うソースのコンバートもやってたな
中身はSDLに投げてるだけだが
mp3やoggの再生は自前でデコードしてるみたいなのでそこらへんは参考になるかもね
ここらへんもPSP向けプログラミングには関係の(ry
やっぱwindowsの開発に慣れてる人が多いとPSPのようなのは 厳しいのかね。 mp3とかも結局は圧縮してあるだけでデコードしちゃえば WAVと同じだしな。
そういやGUでの画像の回転が載ってたページがあったはずなんだが知ってるやついる?
三角形にテクスチャ貼ってsceGumRotate*で回転させて表示するだけ スライス幅より大きい画像を使う三角形は分割しないと遅くなるかもしれない
wiki毎日30くらいカウンタ回ってるけど、 実際何人くらい見てるんだろ 一人がF5攻撃じゃないよなww
HOLD状態でもアナログスティックの値が取得出来ちゃうんだけどどうしたらいい? PSP_CTRL_HOLDがあるからこの値見てブロックしようと思ったら この値常に0だし…てかシステムが使っているボタンは取得できないね
psppower.h /** * Power callback flags */ /*indicates the power switch it pushed, putting the unit into suspend mode*/ #define PSP_POWER_CB_POWER_SWITCH 0x80000000 /*indicates the hold switch is on*/ #define PSP_POWER_CB_HOLD_SWITCH 0x40000000 /*what is standby mode?*/ #define PSP_POWER_CB_STANDBY 0x00080000 /*indicates the resume process has been completed (only seems to be triggered when another event happens)*/ #define PSP_POWER_CB_RESUME_COMPLETE 0x00040000 /*indicates the unit is resuming from suspend mode*/ #define PSP_POWER_CB_RESUMING 0x00020000 /*indicates the unit is suspending, seems to occur due to inactivity*/ #define PSP_POWER_CB_SUSPENDING 0x00010000 /*indicates the unit is plugged into an AC outlet*/ #define PSP_POWER_CB_AC_POWER 0x00001000 /*indicates the battery charge level is low*/ #define PSP_POWER_CB_BATTERY_LOW 0x00000100 /*indicates there is a battery present in the unit*/ #define PSP_POWER_CB_BATTERY_EXIST 0x00000080 /*unknown*/ #define PSP_POWER_CB_BATTPOWER 0x0000007F
wikiのpspのスペックの浮動小数点計算能力が33Mhz稼動時になってるけど仕様?
>>831 おお、ありがと!
なるほど、コールバック仕掛けるのか〜
簡単にはいかないね…
へーまとめてあるね。 WAVがフォーマット決めうちなのが残念 音関連は苦手なんでシークなんかの部分は勉強させてもらうわ。 で、mqoのアニメーションのソース公開はマダー(チンチンAAry
>>836 乙
なんだけど、sceUtilityLoadAvModule使ってないんだなw
>>836 昨日、wav再生ライブラリをゴリンゴゴリンゴ書いてたよ!orz...
まぁ、wavフォーマットの勉強になったからいいけど…
wavのソース見たけど、wavの場合ヘッダサイズが44決め打ちじゃない場合があって
昨日はそこでハマってたんだよね
今のところ、44kHz,16bit,ステレオ以外は再生できない仕様っぽいし、
このフォーマットでは今のところ44じゃないのは見てないけど…
一応メモのために調べた事書いておく
dataじゃなくてfactがある場合がある 詳しくはこれ
ttp://www13.plala.or.jp/kymats/study/MULTIMEDIA/load_wave.html formatChunkSizeが16じゃなくて18の場合がある
その場合、最後2バイトが拡張領域サイズを示していて、
data/factの前にそのバイト数分だけ拡張情報が詰まってる
mp3は未知なんで今から見る、感謝!
MP3ってライセンス的にどうなの? って話をどっかで見たんだがどうなの? ハードウェアにかかってると思ってるんだが
>>842 ごく普通にメーカーとしてmp3を使う場合は
数次第でライセンスを支払う支払わないってのが
あったはず。
でたぶんソニーは収めてるんだけど
それを非公式で使うとなると同人なんかで
有償展開するとなるとやばいかもねえ。
メーカーはCDDA使ってるってどっかに書いてあった
デコードする機能があるって便利だな gotoつかうんだ…
エラー処理にでも使ってあげないとgoto文が本当に要らない子になってしまうじゃないか(´・ω・`)
goto文はいらない子って、昔ベーマガでDr.Dが言ってたよ
構造化プログラミング世代は考え方が固いのかわからないけど goto文使ってるのみるとびっくりするわ 深い階層からの脱出にたまーに使ってる人いるんかね 個人的にはどうにかreturnとかで対応したいとこだね 個人の趣味だけど
gotoの糞さを知らないんだろう 知ったら絶対使わない
構造化プログラミング信者なら当然関数にはreturnが一つしかないし continueやbreakを使うなんてもってのほか gotoを使ったほうが綺麗に分かりやすく書ける場合でもgoto禁止 構造化プログラミング信者は大域ジャンプが死ぬほど嫌いなので例外処理機構は一切使わない 構造化プログラミングという手段のためには綺麗なコードを書くという目的を忘れてしまう 構造化プログラミング信者ならこんなの当たり前だよね
>>850 構造化プログラミングに、なんか怨みでもあるんか?
goto大好きVB6厨の俺は使いまくり
使いどころ考えずに使いまくる奴は全く使わない奴より太刀が悪いぞ
じゃあ狩猟笛で行きます。
スレ違い甚だしい…
戻りgotoさえ使わなきゃ好きにすればいいんでない
PSPの非公式開発をやっていく上で一番面倒なのが 開発環境の構築とその管理なんだよな。 なにかうまくやる方法ないもんだろうか
開発環境構築は今までかなり話題になってたしwikiにも書いてあるぞ gotoはcから始めた人は使わない気がするがvbとかから始めた人は使うんかね
共同開発しない、公開しない、趣味の世界なら好きにすればいいんじゃない。 逆に共同開発する、公開する、仕事で使うっていう人は死んだ方がいい。
こういう頭の固い奴とは組みたくない
そこまでgotoが駄目な理由が分からないので 何が駄目か説明をいただけませんか
スレ違い
>>861 言語の進化(退化?)を見ればわかる気がするが・・・
言語の進化よりスレ違いに気付かないおまえの脳みその進化を期待する
>>861 人が書いたgotoを多用してるコードを読んでみればその判読性の低さに気付くはず
PSPにFFTやらしてみたらかなり遅かった
こんなもんか…
フーリエ?
867 :
名無しさん@お腹いっぱい。 :2008/12/15(月) 00:06:29 ID:Bz2LUvwu
float?
>>855 今更だが太刀が悪いから狩猟笛で行くということだったのか
>>866 うん
高速フーリエ変換
モンハンよくわかんないけどどの狩猟笛?
画像から画像へクロスフェードしたいんですけど、 片方の画像に手書きでα値を減らしながら設定して、 それで合成したイメージをGuで連続描写以外に何かいい方法ありますかね?
2枚のポリゴンを重ねておいて、片方のαを減らしていくってのはどうでしょうか?
inftaFont についてる graphics.c を使ってるのですが、 list[262144] を [1048576] にしたり、 BUF_WIDTH (512) を (1024) にしたり、 PSP_LINE_SIZE 512 を 1024 にしたりしましたが、 blitAlphaImageToScreen で 512 以上のピクセルが表示出来ません。 (512 以内の部分は表示出来る) これはそういった仕様なのでしょうか。 それともやり方が悪いのでしょうか?
>>872 TexImageをうんたらかんたらするといいってforumにあった気がする
基本的には512×512しか扱えないけど
>>871 なるほど、そちらの方がよさそうですね。
その方法を探してみます。
>>873 >>874 なるほど。
では画像の240x1024の画像があっとして、
高さが512以降の部分を表示させるには、
その部分のデータを別にクリップして
sceGuTexImageに送るという方法になるのでしょうか。
>>877 クリップというのがよくわからないけど
240x1024をPSPで表示するには
512x512の画像2枚にして表示するとか
256x256の画像4枚にして表示するとか
しないとだめですね。
色数下げて1024x1024で扱えるか試したけどだめだったし。
プラグインやツールで画像扱うタイプが面倒なのは
この辺の手間があるんですよね〜
一度libでベタ展開した後GUが処理できるように分割しないといけないので。
でPSPで画像見たい人っておおよそつこうたやアフィブログなんか
で入手した画像だからべき乗のような切りのいい数字じゃないし
ましてやせめて幅だけでも512以内ってこともないし。
画像サイズを512以下の2のべき乗の組み合わせになるように分割するとか面倒っぽいので もう縦横32の倍数になるようにしておいて32x32ずつテクスチャにして使えば良いよ
>>879 それじゃあテクスチャ切り替えでパフォーマンスでにくくなるけどなw
1枚絵を表示する場合はテクスチャキャッシュはほぼ無いも同然なので テクスチャ切り替えのコストはそんなに高くない 普通に表示するだけならsceGuCopyImage使ったほうが良いと思うが
画像サイズより大きい2のべき乗にテクスチャのサイズを設定すればいいだろ…jk
クリップってのは分割です。
やっぱり何枚かにわけるしかないですかね。
α値を持つ画像を想定してるのでsceGuCopyImageは駄目です。
>>882 の言う様に出来たらいいのですが設定の仕方が悪い?
>>883 Guを2D表示モードにして、画像をテクスチャとして扱えばおk
これでα値をもつ画像でも表示できる。
画像ファイルをメモリに読み込むときに、必ず2のべき乗のテクスチャを用意して、
512以上の大きさがあったら分割する。表示するときは、それを一枚一枚表示していって、
画像の範囲外(画像より大きくとってある部分)は表示しない。
>>885 なるほど、参考になります。
360x960の画像があったとして、x=0 y=512 w=360 h=272 の範囲を表示したいので、
以下の様な感じでやってみたのですが、上手くいきませんでした。
x=0 y=0 w=360 h=272 だと大丈夫でした。
sceGuTexImage(0, 512, 512, 512, data)
sceGuTexScale(1.0f/(float)512, 1.0f/(float)512);
Vertex* v=(Vertex*)sceGuGetMemory(2*sizeof(Vertex));
v[0].u=0, v[0].v=512, v[0].x=60, v[0].y=0, v[0].z=0;
v[1].u=360, v[1].v=784, v[1].x=420, v[1].y=272, v[1].z=0;
sceGuDrawArray(GU_SPRITES, GU_TEXTURE_16BIT|GU_VERTEX_16BIT|GU_TRANSFORM_2D, 2, 0, v);
sceGuFinish();
sceGuSync(0, 0);
>>886 なぜにv[1].v = 784
テクスチャのサイズは512までなのを覚えているか?
gu関係は人によってVertex構造体が違かったりするから分かりづらいな
sceGuTexScaleで指定した値はGU_TRANSFORM_2Dで描画するときには使用されないぞ
>>875 sflMixerSetCallback使ってループさせてるのを停止した後、
もう一回ループするようにしたら再生開始時にノイズが入る?
>>887 >gu関係は人によってVertex構造体が違かったりするから分かりづらいな
これはsceGuDrawArrayの第二引数にどういう指定をするかで
変わるので人によって違うのはある程度当たり前
>>890 Vertex構造体内の変数名がu,v,x,y,zだったり、s,t,x,y,zだったりと名前の付け方が違うって意味です
>>891 あーそういうことね。
テクスチャの座標はwindowsなんかではuvがよく見るけど
stはみたことないな。
OGLとかで使うんだろうか?
>>892 俺がとったサンプルがs,t,c,x,y,zで、そのまま使いつづけているんだが
s,tはu,vと同じみたい
895 :
名無しさん@お腹いっぱい。 :2008/12/17(水) 22:25:21 ID:a3a+Fepg
OpenGLがテクスチャ座標があらわすのにs, t, r, q使ってたな。
>>894 こんな感じ。
sflSound *sound = sflSoundOpen("loop.mp3");
sflMixerPlaySound(0, sound);
sflMixerSetCallback(0, playLoop, 0, sound);
sceKernelDelayThread(500000);
sflMixerSetCallback(0, 0, 0, 0);
sflMixerStopSound(0);
sflSoundClose(sound);
sceKernelDelayThread(500000);
sound = sflSoundOpen("loop.mp3");
sflMixerPlaySound(0, sound);
sflMixerSetCallback(0, playLoop, 0, sound);
>>896 たぶん前の音波形データが残ってたのが
ノイズとして出たんじゃないかな?
callback全く関係ないがな(´・ω・`) 無音状態から急激に音を出したり止めたりしたときプチプチするのは仕方のないこと よく出来たプレイヤーだと一時停止・再開時やシーク時に音量を下げてプチプチしないようにしてる
>>898 音量を0にしても鳴るのでそれは違うっぽい?
sflSound *sound = sflSoundOpen("loop.mp3");
sflMixerPlaySound(0, sound);
sflMixerSetCallback(0, playLoop, 0, sound);
//5秒再生中
sceKernelDelayThread(5000000);
//音量0にして2秒停止
sflMixerSetVolume(0, 0, 0);
sflMixerSetCallback(0, 0, 0, 0);
sflMixerStopSound(0);
sflSoundClose(sound);
sceKernelDelayThread(2000000);
sound = sflSoundOpen("loop.mp3");
sflMixerPlaySound(0, sound);
sflMixerSetCallback(0, playLoop, 0, sound);
//音量0で1秒再生、プチっとなる
sceKernelDelayThread(1000000);
//ここで音量マックス
sflMixerSetVolume(0, 0x8000, 0x8000);
質問なんだがプラグインのprxってどうやって作るんだ? PBPしか大抵扱ってないし…
>>900 SDKのサンプル
あとはプラグインスレ
>>900 prxそのものはさほど難しくないけどそのprxがやろうとすること
によって難易度変わるからなあ
>>899 無音のとき必要ないと思ってsceAudioOutputを呼んでなかったのが原因のようだ
無音でも再生スレッドを止めず出力バッファにゼロ入れてoutputすれば再生再開時にプチっと鳴らなくなった
そういえばpspaudiolibもそんな実装になってた
やっぱり過去のえろい人が書いたコードにはちゃんと根拠があったんだな(´・ω・`)
そういえばPSPの自作ソフトで日本語対応のPIMアプリって聞かないよな PIMに求められる機能って何があったっけ?
やっぱりSDL使ってるうちはまだまだなのかな… って霧雨のサイトサイトの人の記事見てて思った
907 :
900 :2008/12/21(日) 18:22:02 ID:9KJGKZFd BE:410864235-PLT(41666)
せっかくなので簡単にだがwikiにprxのページ作っておいた 補足等よろ
>>906 やりたいことが出来てるうちはなんだっていいだろ
仕様を追加してかつ速度を出したいとかなら、GU覚えるしかないが
>>906 SDLで速度だしたいんだったら、ハードウェアサーフェス使うとか
SDL+OpenGL(pspgl)で開発すればいいと思うけど。
ハードウェアサーフェスって何?
SDL_HWSURFACE
別スレッドでロードするとかの具体的なやり方ってどうやればいい?
1.読みこみデータを格納するアドレスとか読み込むファイルの名前とかをまとめた構造体を作る 2.読み込みスレッドが実行する関数を書く 3.読み込みスレッドを作って構造体のアドレスを渡してスタート 呼び出し元スレッドから読み込みが完了したかどうかを知るには、 sceKernelWaitThreadEnd()に読み込みスレッドが終了してるかどうか聞くといいんジャマイカ
>>907 乙かれさま
ところでSDLで画面を分割して表示したい時って自分で1つのscreenサーフェイス内を区切って2つあるかのように振舞うしかないんですかね?
それともSDL_SetVideoModeでを2つサーフェイスを作ってどうにかするみたいな違う方法も存在するんでしょうか?
そんな方法は無いから自分でおやり SDL_CreateRGBSurfaceでサーフェイスを二つ作って、ビデオサーフェイスに貼り付けるのが楽でいいんじゃねえの
916 :
lpooqi :2008/12/24(水) 11:45:36 ID:4nLzzdgy
画像を表示させたのですが、PNG形式だと「libpng」と「zlib」が必要で、svnでチェックアウトしたのですが、 コンバイルして実行させたのですが、エラーが出ます。 元々入っているライブラリは使えるので多分パスが間違っていると思われるのですが、 わからないので対処法を教えてください。 C:\cygwin\usr\local\PSPDEV\psp\lib⇒「libpng.a」「libz.a」 \include⇒png.h,pngconf.h zlib.h,zconf.h
917 :
lpooqi :2008/12/24(水) 11:48:47 ID:4nLzzdgy
追記 make make install rm -Rf -libpng rm -Rf -zlib で実行して-|png -|zは利用出来るようになってます。 でも、手順ミスもあるかと思うので、そこらへん詳しく教えてください。
>>917 エラーがよくわからんので簡単に
libのインストールはwikiのlib構築の部分そのまま
makefileのlib指定はこんな感じ
LIBS = -lpspgu -lpng -lz -lm -lpsppower -lpspssl -lpsphttp -lpspwlan -lpspaudiolib -lpspaudio
libpng → lpng と覚えるといい んでアドホックのサンプルどこだ?
924 :
lpooqi :2008/12/25(木) 11:51:27 ID:ZEMa6MCb
サンクス Homebrew BOFすごすw 何気に明々後日じゃん
>>915 やっぱり無いですか
>SDL_CreateRGBSurfaceでサーフェイスを二つ作って、ビデオサーフェイスに貼り付けるのが楽でいいんじゃねえの
楽…?になってるのかな?
SDL使いが沸くけど利点はあるのか? ここまでの組み込み臭がするデバイスだとなるべく ハードウェアに近いAPI使ったほうがいいだろ
>>926 既存のソースがほぼそのまま使えるとか
マルチプラットフォームでプログラムしたいとか
>>927 へー
便利といえば便利そうだがつったこと無いのでわからねーわw
解像度やボタンが違うのにマルチプラットフォームってのも きついと思うけどな
何度もPSPに実行バイナリをコピーして動作確認するのは面倒 PC上でほぼ同じソースコードのプログラムを動かせると開発が楽
usblink使えばUSBでつないでリモートで動かせるよ SDLに関してはSDLでの開発に慣れてるとかなら便利だと思うよ
eclipseと連携できたっけか? コンパイルとかgdbとか
pc上で動くpspエミュレータでできる気がするけど、 pbpからisoまでもってくのが面倒すぎる。 debugとかも便利なんだけどね。 そこを自動化するのが面倒でやってないけど
デバッガ? なにそれおいしいの? という俺にとっては psplink使えばPCプログラミングと何も変わらない
PSPの開発の話を友達に語ったら ブレークポイントとかステップ実行とかどうするの?って聞いてきた printfあれば十分できるだろうがボケェ!! と思ったが、その辺ないとプログラム組めないってのが最近なのかなぁ
どのみち割り込み関連のデバッグにはブレークは無力 そいつは割り込み処理など一切やったことが無い幸せな人なんだろう
printf以外のデバッグをしたことが無い俺は幸せなのか?
>>938 OSができて気にする必要が無くなりつつあるからな
でもローレベルなソフト書いてる人は今でも気にしないといけないし
gdbでリモートデバッグできるし eclipseでgdbをデバッガに指定すればGUIでデバッグもできるみたいよ eclipseのほうはやったことないけど
PSPLinkでリモート起動してremotejoyつかってPC上に表示してってやればPC上で完結するはずなんだができるのか?
PSPからGPSPダウンロードできるサイト教えて
OutputDebugStringとかprintf系で十分なのにな そりゃブレークで変数とか表示されたら超便利だけど
filerの人の全角文字ライブラリが点滅しまくる・・・ なんでだろ
>>945 あの全角文字ライブラリは確か、VRAMのアドレスを固定にしているから
VRAMの切り替えとかやってると点滅するよ
>>946 なるほどなぁ
Intra使うしかないか・・・
他にはないよね?
>>945 ソース公開されているし、内容もすごく単純だから改造すればいいじゃん
>>947 >>948 の言っている通り、改造すれば?
VRAMの開始アドレスを取ってくるAPIとかあったはずだから、結構簡単だとおもうよ
あれってCPUで転送してなかったっけ?
俺は改造して使ってるな そのままだとキャッシュなので面倒だし、ダブルバッファで使えないし
>>948-949 やってみるかなぁ
少々面倒そうだが
ところで使われてるのは東雲フォントだがあれ以外もcソースに変換して使えるのか?
>>952 同じ文字サイズだったらいけるんじゃね?
printfとかいう前に動作が止まるんだがどうやってデバッグすればいい?
>>954 ・頑張る
・ソースを晒して、皆にデバッグしてもらう
上記の二つを試してみれ。
あと、一応言っておくが、
pspDebugScreenInit();で初期化した後、Guを有効化しないでpspDebugScreenPrintf();だよ
全ての関数でprintfして、止まるところを検知する いわゆる手動ブレークポイント
957 :
名無しさん@お腹いっぱい。 :2008/12/29(月) 15:20:56 ID:CNQTlWaS
すごい初心者的な質問で申し訳ないんだが、 makeしたときにヘッダーファイルが見つかりませんといわれるんだ。 ぐぐってもよくわからんので誰か教えてくれまいか
すごい残念な返答で申し訳ないんだが、 どの環境で何をmakeしたのかが分からないと誰にも答えられないんだ。
959 :
名無しさん@お腹いっぱい。 :2008/12/29(月) 15:38:46 ID:CNQTlWaS
devkitPSPを使ってる。 makeしたのは拾ってきたソースなんだが、 他のソースでも同じエラーが出るんでソースの問題じゃないと思う。
可能な限り詳しく書くともっと返答が増えると思うよ。 例えば今までにmakeが出来たことがあるのかとか makeって具体的に何をしたのかとか
誰か、psprevolutionを日本語化にしてくれませんか?
いやです
どうやって日本語化するんですか?
>>964 メッセージをすべて日本語に書き直します。
PSPのOSKのurlを書き込むときに履歴って欄があるのとないのがあるがその自作のPBPとかをバイナリーとかいじれば変えれたりする???
>>966 ソースコード上で変えられることは、バイナリをいじれば変えられるよ
/* 変えられる???→ウザい */
>>967 詳しくたのむ
PSPTubeのOSKを変えたいんだが
>>968 ソースを修正して機能を追加してコンパイルして出来たバイナリと
まったく同じファイルになるようにバイナリエディタで作ればいけるだろ、って意味だよ
すいません...でも教えてくださいお願いします
>>973 知るか。
自分で調べろ。
まったくこれだからゆとりは・・・
冬休みも困ったもんだ
てかマルチやめれ どうでもいいけど曲聞きながら歌詞見るのって公式とかfilerとかIRshellでできるじゃん
devkitPSPでゲーム製作しようと思ってるんですが、 jpegファイルの表示ってどうやるんですか?
>>977 自力でjpegフォーマットをデコード、それをリサイズするなどしてVRAMに転送
デコードはlibがあるのでそれを使うといいよ
>>978 参考になりました。ありがとうございます。
うんこをするにはどうすれば良いですか?
>>980 氏名、住所、電話番号、郵便番号、ラジオネームを明記して、質問をしてみてください。
保守 ここにはグリップシフトのSDKでeloaderを作れる人はいないのだろうか…
Noobs だっけ? そいつに任せるんだ
そもそも、そのグリップシフトが手に入らない
1.50用のプログラムを5.00用に直す方法を分かりやすく三行で教えて なんかソースの拡張子が.luaだった
( ^ω^)・・・
( ^ω^)・・・・
988 :
名無しさん@お腹いっぱい。 :2009/01/07(水) 23:14:33 ID:tERSGCan
ぬ る ぽ
が っ
990 :
名無しさん@お腹いっぱい。 :2009/01/07(水) 23:36:50 ID:fe4Io5Bx
( ( ( ( (. ) . -‐ ) ‐- . .´,.::::;;:... . . _ `. i ヾ<:;_^ω^_,.ン | l  ̄...:;:彡| } . .. ...::::;:;;;;;彡{ i . . ...:::;;;;;彡| } .. .....:::;::;:;;;;彡{ 900ゲット !, . .:.::;:;;;彡| ト , . ..,:;:;:=:彳:' :::::::::.. ヽ、.. ....::::;;;ジ:::.:::::::::::::::::
さて、アドバイス受けた人たちはまだ完成しないのかね?
次スレ立ててくる
おつうめ
過去ログ検索が不要だったら放置しますよ><
うめ
1000を取ったら一生童貞である 一生ニートとして生き、金が尽き死ぬのである。
1000 :
名無しさん@お腹いっぱい。 :2009/01/08(木) 04:24:55 ID:ajc/vKOP
PSP-1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。