トップページgameurawaza
986コメント338KB

PSP自作ソフト開発スレ ver.10

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/09/20(日) 23:37:20ID:VMGMes0b
*****完全sageマターリ進行!*****

自作ソフト開発者向けスレッドです。
要望・クレクレなどは作者本人が望んだ場合以外スルーで。

前スレ
PSP自作ソフト開発スレ ver.9
http://schiphol.2ch.net/test/read.cgi/gameurawaza/1231340677/
0266名無しさん@お腹いっぱい。2009/12/12(土) 13:07:46ID:cbMC3at6
>>263
そのファイルがそうです

>>265
その方法でprxをロードさせて試してみます
0267名無しさん@お腹いっぱい。2009/12/12(土) 13:25:15ID:cbMC3at6
prxをロードする部分を
pspSdkLoadStartModule("ms0:/TestPRX.prx", PSP_MEMORY_PARTITION_KERNEL);
に変えてやってみましたが

プラグイン上のaddTest関数(2つの引数をただ足した値を返す)を呼び出した際

ret = addTest(2,7);
//実行結果
printf("addTest(2,7) = %d\n",ret);

としたとき 2+7 の 9 はなく、まったく違った値が返ってきます
0268名無しさん@お腹いっぱい。2009/12/12(土) 14:09:11ID:Jq60wD1H
expの自前関数を定義するところなんだけど

PSP_EXPORT_FUNC_HASH(addTest)

PSP_EXPORT_FUNC(addTest)

かなあ
0269名無しさん@お腹いっぱい。2009/12/12(土) 14:29:02ID:cbMC3at6
>>268
前調べた時に PSP_EXPORT_FUNC は
結局 PSP_EXPORT_FUNC_HASH を呼び出してるので
動作に変化はなかったです
0270名無しさん@お腹いっぱい。2009/12/12(土) 14:34:59ID:Jq60wD1H
じゃあmakefileにこれを入れてみて

LIBDIR下あたりに

LDFLAGS = -mno-crt0 -nostartfiles
LIBS = -lpspsdk
0271名無しさん@お腹いっぱい。2009/12/12(土) 14:44:03ID:cI7LvUlB
すみません、変化なしです

作る前に他人のコードを色々見てましたが
prx側の各関数の書き方はどれも普通に書いてる物がほとんどなので
アドレス渡しとかしなくても動くはずなのですが、上手くいかないです
0272名無しさん@お腹いっぱい。2009/12/12(土) 14:50:43ID:ihgLYVOI
PSARdumperのソースだとsceKernelStartModule使ってるなあ

int LoadStartModule(char *module, int partition)
{
SceUID mod = kuKernelLoadModule(module, 0, NULL);

if (mod < 0)
return mod;

return sceKernelStartModule(mod, 0, NULL, NULL, NULL);
}
0273名無しさん@お腹いっぱい。2009/12/12(土) 15:21:48ID:Jq60wD1H
同時に二人prx関連の質問してるのか?
0274名無しさん@お腹いっぱい。2009/12/12(土) 15:35:02ID:cI7LvUlB
いえ、パソコン再起動したらIP変わってしまっただけで
質問してるのは私だけだと思います

関数から値が正常に返ってこない原因が
なんとか分かればいいのですが
0275名無しさん@お腹いっぱい。2009/12/12(土) 15:38:14ID:Jq60wD1H
とりあえずユーザーモードで動かすようにしてどうなるか
確認してみては?

0276名無しさん@お腹いっぱい。2009/12/12(土) 15:44:44ID:cI7LvUlB
>>275
実はユーザーモードの方は先日試してダメで
カーネルモードに変えたのが今の状態です

>>259のファイルを皆さんの環境でビルドした物を動作させた場合は
addTest(2,7) を呼び出すとちゃんと 9 と返ってきますか?
0277名無しさん@お腹いっぱい。2009/12/12(土) 15:48:06ID:cI7LvUlB
>>259をビルドする際は
include/prx/ 内のプラグイン側を先にmakeして
その後、メインの方をmakeして下さい

あとはEBOOT.PBP を適当なディレクトリに入れてGAME へコピー
TestPRX.prx はMSのルートへコピーすれば実行出来るはずです
0278名無しさん@お腹いっぱい。2009/12/12(土) 16:02:35ID:Jq60wD1H
あとは・・・
関係なさそうだけど気になったのは自作関数が最後にあったことかな
module_startの前に持ってきてはどうかな?
0279名無しさん@お腹いっぱい。2009/12/12(土) 16:22:50ID:9gu7xibb
>>260
fixupimportとか俺には何かわからない別の話をしてるかと思ってたが
俺の勘違いじゃないようで安心したw
結局kuはなんだったんだ…

>>265
それだと後のsceKernelStartModuleで二重に読み込むことになる

というか呼び出し側に問題はない
addTestの戻り値をよく見てみ
どうみてもPSPのエラーコードで、ライブラリがリンクされてねえぞって言ってる
というわけでprx側のMakefile見てみたが色々おかしい
もう一度SDKに付いてるサンプルを元に書き直してみ
0280名無しさん@お腹いっぱい。2009/12/12(土) 16:32:07ID:FVlJxpCz
>>279
そこまで指摘しないといけないのかねw
先生にネット全体で検索するようにお願いすれば
海外のサイトとかでいっぱいでてくるんだけどなw
0281名無しさん@お腹いっぱい。2009/12/12(土) 16:33:31ID:FVlJxpCz
ああ、そうだ
俺はID:Jq60wD1Hね

今借り物のマシンでメインの方は故障中で開発環境入れれないので
テストできないのでできる人やってあげてくれ
0282名無しさん@お腹いっぱい。2009/12/12(土) 16:38:12ID:9gu7xibb
おk、もう質問には答えないようにするよ
検索してわかるなら最初からやってろよ…
0283名無しさん@お腹いっぱい。2009/12/12(土) 16:46:45ID:FVlJxpCz
pspSdkLoadStartModule
こっちでぐぐるとゴミが大量に引っかかるので

PSP_EXPORT_FUNC
こっちで検索がいいな
この辺とかそのまんまprxの作り方と起動かけるアプリのサンプルが載ってる
http://forums.ps2dev.org/viewtopic.php?p=64110&sid=8c1ff281b8d5ea4f1f5e8fce2bc35d4b
0284名無しさん@お腹いっぱい。2009/12/13(日) 20:04:48ID:BezMxPl2
結局うまく行ったのだろうか
その辺の情報も欲しいな
0285名無しさん@お腹いっぱい。2009/12/13(日) 20:59:16ID:HO5s6cZ4
嫉妬した馬鹿のせいで流れが止まったが、MakefileをSDKと同じように書き直したら
普通に9が返って来たよ
0286QSYSHAfn2009/12/14(月) 00:48:38ID:KfDMvN/g
戻り値がfloat型だとうまくいかないぽ・・・
0287名無しさん@お腹いっぱい。2009/12/14(月) 10:36:50ID:0MH/5tzb
>>259のファイル見てて思ったけど
プラグイン起動時に何もさせない場合に

int module_start(SceSize args, void *argp)
{
    return 0;
}

こうすると確かにビルド失敗するね
なんでも良いから適当な命令入れると通るけど謎だ
0288名無しさん@お腹いっぱい。2009/12/14(月) 10:43:25ID:qE7oyJuo
>>287
makeに

LDFLAGS = -mno-crt0 -nostartfiles

入れておけば問題なかったような
0289名無しさん@お腹いっぱい。2009/12/14(月) 10:56:22ID:KfDMvN/g
>>287
たぶんそれコンパイラの最適化が悪さしてると思う
0290名無しさん@お腹いっぱい。2009/12/14(月) 11:00:15ID:0MH/5tzb
そうなんだ、モヤモヤ解消できたthx


あ、それと上でも言ってる人いるけどカーネルモードで
USE_KERNEL_LIBC=1
にすると、リンクされるのが最小ライブラリになるから
float とか扱えなくなって困る・・・・
0291名無しさん@お腹いっぱい。2009/12/14(月) 11:03:02ID:qE7oyJuo
なんで全部をカーネルモードprxに押し込めるのやら
0292名無しさん@お腹いっぱい。2009/12/14(月) 11:14:50ID:0MH/5tzb
>>291
カーネルだと最上級の権限得られてるから
Hackしてるなぁと言う爽快感、みたいな

呼び出す側がカーネルモードの場合はファイル構成がおかしくない限り
ユーザーモードのprxは確実に呼び出せる?

それなら必要な部分はラッパー関数をユーザーモードのprxで作っておいて
呼び出すのが一番いいのかな
0293名無しさん@お腹いっぱい。2009/12/14(月) 11:15:49ID:KfDMvN/g
prxでデータを取得する程度に留めるか、処理までやって結果を呼び出し元に返すのかは設計思想の問題・・・かな?
0294名無しさん@お腹いっぱい。2009/12/14(月) 11:17:33ID:qE7oyJuo
>>292
確か
# カーネルメモリに読み込む場合
#PSP_EXPORT_START(TestPRX, 0, 0x4001)
これで作ったprxはユーザーモードのprxはアプリと普通に
やり取りできたはずなんだよね

>>293
思想は確かにあるが仕様上できないことがあるのに思想(キリで
先に進まなければ意味ないと思うけどw
0295名無しさん@お腹いっぱい。2009/12/14(月) 11:18:16ID:qE7oyJuo
>これで作ったprxはユーザーモードのprxはアプリと普通に
これで作ったprxはユーザーモードのprxやアプリと普通に
0296名無しさん@お腹いっぱい。2009/12/14(月) 11:25:33ID:KfDMvN/g
>>294
そだねw
さて、prx周りの疑問が解けた事だし色々作るかな

#000000がちょうどprxに関わりそうな事を言っているので(偶然か?)試してみる
0297名無しさん@お腹いっぱい。2009/12/14(月) 11:27:48ID:qE7oyJuo
>>296
本人でしょ
先日質問がここであったときに久々に調べてたら
MyLib.oとprxが一致したのであそこの人だと思ってたけど
0298名無しさん@お腹いっぱい。2009/12/14(月) 11:30:33ID:qE7oyJuo
たぶんDXLPをprxで提供とかだったんじゃないかな?
0299名無しさん@お腹いっぱい。2009/12/14(月) 11:31:00ID:0MH/5tzb
>>294
悩みが全て解消された、ありがと
ちょっとユーザーモードでラッパー関数作ってくる
0300名無しさん@お腹いっぱい。2009/12/14(月) 11:32:35ID:KfDMvN/g
違うよ
俺はDXLP使ってるからRSSでチェックしてるだけ
0301名無しさん@お腹いっぱい。2009/12/14(月) 11:34:28ID:0MH/5tzb
申し訳ない、もう一つだけあった
内容としては簡単な物なのだけど続けて聞いても良い?
0302名無しさん@お腹いっぱい。2009/12/14(月) 11:36:20ID:qE7oyJuo
最近やってないので覚えてる範囲でのヒントなら可
0303名無しさん@お腹いっぱい。2009/12/14(月) 11:46:03ID:KfDMvN/g
CPU使用率の算出prxできた。
でもCWCが提示する値と1%ぐらいずれるw

適当に初期化してpspDebugProfilerGetRegsとpspDebugProfilerClearを交互に呼んで、CPUのサイクル数をシステムのサイクル数で割ったんだが・・・
他に何か必要な要素があるのかな
0304 ◆yreeen/0R2 2009/12/14(月) 11:46:14ID:dBxOks5e
ども。
prx関連あんまり把握してなかったのでここ数日のログに助けられました^^
なので、>>296さんの仰る通り偶然というわけでもないです。


0305名無しさん@お腹いっぱい。2009/12/14(月) 11:48:55ID:0MH/5tzb
では言葉に甘えて
存在しないフォルダを作る処理で階層が深い場合は一気に作れないから
自分なりに作ってみたのだけど、これよりも無駄がないスマートな方法あるかな?

使い方としては CreateDir("ms0:/Test/Sub/"); のような感じです

void CreateDir(const char* dir)
{
        char path[256],*p ,*sp = (char*)dir;
        int fd;
       
        // ms0:/ の後ろまで飛ばす
        *p = strstr(dir,"/");
        p++;
       
        // ms0:/ 以降にあるフォルダの階層をだどる
       
        while(*p && (p = strstr(p,"/")) != NULL)
        {
                // パスを作る
                strcpy(path,dir);
                path[p-sp] = '\0';
               
                //フォルダが存在するかどうか
                fd = sceIoDopen(path,);
                   
                if (fd < 0)
                {
                        //存在しない、フォルダ作成
                        sceIoMkdir(path, 0777);
                }
                   
                    sceIoDclose(fd);
                   
                p++;
         }
}
0306名無しさん@お腹いっぱい。2009/12/14(月) 11:51:43ID:0MH/5tzb
記述ミス、余分な,が入ってました

×  fd = sceIoDopen(path,);
○  fd = sceIoDopen(path);
0307名無しさん@お腹いっぱい。2009/12/14(月) 11:52:22ID:qE7oyJuo
それはこのスレじゃなくC言語関連の初心者対応のところで聞く話しじゃないか?

前提条件として自前で順番にフォルダを作る必要がある・・・ということにして

あとPSPの開発環境で再現してる標準関数でできたりはしない?
0308 ◆yreeen/0R2 2009/12/14(月) 11:52:13ID:dBxOks5e
>>303
私も微妙にずれます。が、1%程度なら問題ないと思います
プロファイラの値を同時に使っている所為かもしれないですね
0309名無しさん@お腹いっぱい。2009/12/14(月) 11:54:50ID:qq3gww8Y
>>303
そのCPU使用率の算出コード、参考にしたいです
公開とかされませんか?
0310名無しさん@お腹いっぱい。2009/12/14(月) 12:03:55ID:KfDMvN/g
>yreeen氏
お世話になってるぜ
原因それかもしれない。検証・・・できない気がするが

>>309
おk
module_startでpspDebugProfilerEnableとpspDebugProfilerClearを呼ぶ。

CpuUsageRateとかいう関数作る。内部はこんな感じ
pspDebugProfilerGetRegs(®s);
pspDebugProfilerClear():
return 100 * regs.cpuck / regs.systemck;

で、グローバル変数としてstatic PspDebugProfilerRegs regs;とか宣言すればいい
module_stopでpspDebugProfilerDisableを呼ぶようにすればモジュール開放時にプロファイラが止まってくれる
0311名無しさん@お腹いっぱい。2009/12/14(月) 12:08:14ID:KfDMvN/g
挙動

モジュールを読み込んだ瞬間からプロファイラの機能が有効になる
CpuUsageRateが呼ばれる度に、前回の呼び出し(またはモジュールを読み込んだ瞬間)から今回の呼び出しまでの平均CPU使用率が出る。
モジュールを開放した時点でプロファイラの機能が無効化される

バグ

二重に読み込むと何が起こるかわからん。バグというより仕様だなこれは
0312名無しさん@お腹いっぱい。2009/12/14(月) 12:08:40ID:qq3gww8Y
>>310
助かりました、自分でも試してみます
0313名無しさん@お腹いっぱい。2009/12/14(月) 12:10:39ID:qE7oyJuo
>>311
>二重に読み込むと何が起こるかわからん。バグというより仕様だなこれは
中で二重読み込みを防止するための管理とかしてないのかね?w
0314名無しさん@お腹いっぱい。2009/12/14(月) 12:17:18ID:KfDMvN/g
実際のところどうなるか試してないから分からん。
まぁ同じprxを二重にロードするなんて普通起きないと思うが・・・
0315名無しさん@お腹いっぱい。2009/12/14(月) 12:20:55ID:qE7oyJuo
>>314
prx側というより関数側ね

prx側はまあ自分で面倒みろって話だけどさw
0316名無しさん@お腹いっぱい。2009/12/15(火) 10:40:13ID:+yBFUqqH
セーブデータの暗号化を無効にして
生データをそのままセーブ、ロードも可能
おまけにGameKeyのDump機能付き

こんなプラグインを作ったのだが需要ある?


まだBeta段階だから機能は最低限のしかない
いずれはメニュー表示や、さらに独自暗号化してるデータに対して
各自がスクリプトでデータ処理出来るような機能も付けるつもり
0317名無しさん@お腹いっぱい。2009/12/15(火) 11:11:20ID:7RL9GCLh
ここって改造板の中でもかなりレベルの高い会話してるよなw
0318名無しさん@お腹いっぱい。2009/12/15(火) 11:56:51ID:X6qrx4ZJ
これくらいのレベルでないと俺満たされないw
0319名無しさん@お腹いっぱい。2009/12/15(火) 12:01:33ID:vC5Aes/1
PSPの開発って下火になってると思ってたから
先日のスレの伸びに驚いたくらい

0320名無しさん@お腹いっぱい。2009/12/15(火) 12:12:15ID:X6qrx4ZJ
ryushi氏やyreeen氏、猫山猫宗氏なんかが表立って開発してるかな
あとはこの辺で名前を出さずに色々やっている人がゴロゴロと
0321名無しさん@お腹いっぱい。2009/12/15(火) 14:47:07ID:NZpcYFHc
upgpspも忘れるなw
0322名無しさん@お腹いっぱい。2009/12/15(火) 15:38:33ID:8wTdzokl
作ったライブラリを利用したソフト作る際
最小限のリンクで済むように(ファイルサイズを小さく)するにはどうすれば良い?
0323名無しさん@お腹いっぱい。2009/12/15(火) 17:11:52ID:uEQlmyTB
関数ごとに一つのソースコードにすればいい。DXLPの作者もそう言ってる
0324名無しさん@お腹いっぱい。2009/12/15(火) 17:33:38ID:LHRt/u06
>>316
うpよろしく
0325名無しさん@お腹いっぱい。2009/12/15(火) 18:19:29ID:86/pxb1n
>>316
>GameKeyのDump機能付き
これの方が重要w
できればソース公開していただきたい・・・
0326名無しさん@お腹いっぱい。2009/12/15(火) 18:25:54ID:YWAw6ZHW
>>322
ar d hoge.a fuga.o
0327名無しさん@お腹いっぱい。2009/12/15(火) 18:49:30ID:1eKuIvhF
スルーされてたけど
>>316の人、さりげなく凄い発言してるw
自分も是非そのプラグイン欲しい
0328名無しさん@お腹いっぱい。2009/12/15(火) 19:27:34ID:X6qrx4ZJ
>>326
それ意味ない
0329名無しさん@お腹いっぱい。2009/12/15(火) 22:24:59ID:X3g8+oRY
>>317
初歩的な質問ばっかりでそれは無いわw
外部の技術者がたまに何か投下するぐらいだろ
それとも皮肉で言ったのか

>>320
憂煉はDXLPとか作ってるが、猫山とかでたらめ記事しか書いて無いじゃん
0330名無しさん@お腹いっぱい。2009/12/16(水) 09:56:59ID:u5p2bC9W
>>324-325
>>327

一応は需要あるみたいかな
今まだ調整中だけど今日中には配布出来そう
ちなみにまだBeta段階

ソースコードはライセンスをどうするかとか
その他も色々面倒なので公開する予定ないです
03312992009/12/16(水) 13:06:24ID:ePYIr0iC
あれからユーザーモードの prx をロードさせようと
色々やってみたのだけど上手くいかないです
カーネルモードだと正常にロードされます


ユーザーモードのprxをロードしようとすると

//pspSdkLoadStartModule 、 カーネルエリアに読込を試みる
pspSdkLoadStartModule(user_prx,PSP_MEMORY_PARTITION_KERNEL);
戻り値: 0x80020132 (SCE_KERNEL_ERROR_PARTITION_MISMATCH)
       
//pspSdkLoadStartModule 、 ユーザーエリアに読込を試みる
pspSdkLoadStartModule(user_prx,PSP_MEMORY_PARTITION_USER);
戻り値: 0x80020132 (SCE_KERNEL_ERROR_ILLEGAL_LIBRARY )


mod = sceKernelLoadModule(user_prx, 0, NULL);
sceKernelStartModule(mod, 0, NULL, 0, NULL);
戻り値: エラーコードではない値

となり、最後はエラーコードではないもののロードされていません



ロードする側(EBOOT.PBP)、ロードされる側(prx)のソースです
ttp://www1.axfc.net/uploader/Sc/so/64477.zip

自分ではもうお手上げなので、何か分かる方いましたら教えて下さい
0332名無しさん@お腹いっぱい。2009/12/16(水) 13:13:44ID:Ws/KbU9Y
# user_prx/MyLib.S が変更されるから、呼び出す側も再 make が必要 !?
属性と呼んでいいのかわからんがユーザーモードで利用するか
カーネルモードで利用するかを変えた場合は
Sの中身が変わってる可能性あるので当然Sを取り込む側も
再度makeしなおさないとだめじゃないかな?

prxの属性は変えずに関数の中だけいじったとかなら
prx側の再度makeでOKだったと思うけど
0333名無しさん@お腹いっぱい。2009/12/16(水) 13:16:33ID:ePYIr0iC
>>332
それはユーザーモード属性のままでカーネルモードのが動作したので
そう書いてあるだけで、実際は毎回Sファイルに合わせてEBOOT側もmakeし直してます
それでもロード出来なくて
0334名無しさん@お腹いっぱい。2009/12/16(水) 13:21:53ID:XPJJnMmi
今IWanaBetheGuyをPSP用に作ってんだけどところどころでフリーズしやがる…何が原因なんだ…
0335名無しさん@お腹いっぱい。2009/12/16(水) 13:22:37ID:Ws/KbU9Y
リカバリーモードのカーネルが1.50かそうじゃないか
とかも関係なかったっけ?
0336名無しさん@お腹いっぱい。2009/12/16(水) 13:30:42ID:ePYIr0iC
>>335
CFWが1.50のカーネルも含んでないといけないということですか?

ユーザーモードのprxロードについて参考になる資料を
"Google Code" や "PS2DEV Forum" のPSPスレッドで探してはみたものの
カーネルモードの解説ばかりで…

最新のCFW 5.50 GEN にて
>>331のコードを修正してユーザーモードの user.prx が
EBOOT.PBP側からロード出来た方がいました
どうかアドバイスを
0337名無しさん@お腹いっぱい。2009/12/16(水) 14:02:35ID:Ws/KbU9Y
あと相変わらずというかなんというか
動かない動かない騒ぐ割に動いてる物はこうだよと指摘されてるところ
はあわせて見るとかしないのかな?
PSP_EXPORT_FUNCのところは指摘されてるだろうに
0338名無しさん@お腹いっぱい。2009/12/16(水) 14:11:43ID:ePYIr0iC
PSP_EXPORT_FUNC は sdkのファイルを見ると
PSP_EXPORT_FUNC_HASH をただ置き換えただけのもので
どちらで記述しようと出来上がるファイルは同じです

その理由で変更しないままになってるだけでして
0339名無しさん@お腹いっぱい。2009/12/16(水) 14:13:30ID:Ws/KbU9Y
>>338
prxとSの両方?
バイナリレベルで日付とかの変更以外はまったく一緒?
0340名無しさん@お腹いっぱい。2009/12/16(水) 14:19:22ID:ePYIr0iC
>>339
ええ、自分でも調べてもらえば分かることですが
prx、Sファイルともにハッシュがまったく同一です
03413302009/12/16(水) 14:43:52ID:u5p2bC9W
プラグインだけだとあれだから
説明とかの準備で配布は後日にすることにした

>>340
事前に調べたりしてやることやって聞いてるから協力してあげたいのだが
自分もユーザーモード関係には詳しくないので力になれず

それに詳しい人となるとPSPで大規模アプリ作ってる人とかかな
0342七次元 ◆/7th/O83GE 2009/12/16(水) 19:33:52ID:BHW87nWE
いきなり伸びたかと思うと、いきなり止まったりして忙しいスレだなw

>>331
Makefileでpspkernelライブラリを読み込んでるのが原因。
ビルドログを見ればわかると思うけど、build.makで基本的なライブラリが
リンクされるように設定されている。
ユーザーモードのライブラリをリンクするフラグを立てるべきかと思ったが
うまいことpspkernelがリンクされないような順番で設定されてるので、そのまま
makeしてもユーザーモードで動く。
フラグを立ててビルドしても、生成されたprxは同じ物になった。
ただ、自分でpspkernelをリンクするように設定すると優先度が
おかしくなるので、pspkernelにリンクされる模様。
ついでにpspsdkも2重になってるので要らない。

LIBS = -lpspsdk -lpspkernel -lm

LIBS = -lm
これでおk

>>341
PSPの暗号・復号化関数にフックするとかそんな感じかな?
独自暗号の対応にちょっと興味ある。技術的な意味で。
0343名無しさん@お腹いっぱい。2009/12/17(木) 12:35:51ID:tVHH0o48
>>342
その構成だとユーザーモードからは呼べるけど
カーネルモード(のEBOOT.PBP)から呼ぼうとすると
SCE_KERNEL_ERROR_UNSUPPORTED_PRX_TYPE ( 0x80020148 )

のエラーが出て、EBOOT.PBPが即終了する
0344名無しさん@お腹いっぱい。2009/12/17(木) 12:40:58ID:vb993mBH
>>343
できないってことはカーネルモードから呼ばれる専用のprx作れってことじゃないの?

0345名無しさん@お腹いっぱい。2009/12/17(木) 12:46:37ID:tVHH0o48
>>344
具体的に、>>331のuser.prx側をどう修正すればよいと?
03463302009/12/17(木) 15:28:10ID:/I8XqNtv
後日配布というのは、来週の初め(月曜)あたりを予定

今はメニュー表示と設定ファイル読込
スクリプト部分の実装あたりをしてるので
もうしばらく時間がかかる
0347名無しさん@お腹いっぱい。2009/12/17(木) 19:50:05ID:VsJ3ZBlC
>>345
その前になんでいまだにカーネルモードで動くEBOOT.PBP作ってるのかが疑問だんだよね
CFW(OFW?)の仕様が変わって基本的にはユーザーモードで書くってなったはずだよね?
どうしてもカーネルモードで動かす必要がある部分だけprxでカバーすればいいだけだし

ユーザーモードEBOOT.PBPからユーザーモードprxとカーネルモードprx
の起動はOKなんだからぜんぜん問題ないはずだし

いろいろ前提条件が間違ってる気がする
0348七次元 ◆/7th/O83GE 2009/12/17(木) 20:12:36ID:eGwT/ACC
>>343
カーネルモードから呼びたいんかい…
試してみたらモジュールの読み込みは成功するものの
関数の実行時にエラーが返って来た。
pspsdkのリファレンス読んでたらそれっぽい関数があったので
適当に使ってみたら動いた。
void pspSdkFixupImports ( int moduleId )
Manually fixup library imports for late binding modules.
だとさ。
モジュールを読み込んだ時に返って来た値を読み込ませれば良い。
FixupImportsってこういう意味があったのか…
0349名無しさん@お腹いっぱい。2009/12/17(木) 20:14:57ID:VsJ3ZBlC
>>348
よくわかってない人にそういうのを教えるのはどうかと思うよ
0350名無しさん@お腹いっぱい。2009/12/17(木) 22:13:31ID:6Cjx2tE4
>>349
何故?
お前こそどうかと思うよ
0351名無しさん@お腹いっぱい。2009/12/17(木) 23:05:42ID:+d7+SwV8
分からないことを教えあうのが開発スレじゃない?

資料が少ないPSPの自作ならなおさらに

初心者スレが別にあるなら別だけど
上級者専用でもないのだから
初歩的な事聞くのは普通だと思う

最近のprx関係のでも、参考になってる人多いと思うし
0352七次元 ◆/7th/O83GE 2009/12/17(木) 23:24:56ID:eGwT/ACC
>>349
なら君が教えてあげてね。
誰も解決方法を書かないから、俺が調べた範囲で答えたまで。
ちなみに、CFWはユーザーモードでしか起動できないからユーザーモードで
起動しろってのは、論点のすり替えで根本的な問題の解決にはならないから。
0353名無しさん@お腹いっぱい。2009/12/17(木) 23:39:39ID:6Cjx2tE4
>>352
じゃあCFWでカーネルモードで起動できるようにしてくれw
根本的な解決が不可能だからprxで迂回してるんじゃん
0354名無しさん@お腹いっぱい。2009/12/18(金) 00:45:49ID:HG0oqbTO
とりあえず服を脱ぐから
俺のために言い争うのはヤメテくれ
0355七次元 ◆/7th/O83GE 2009/12/18(金) 02:09:54ID:MQDs6U0w
>>353
お前は何を言ってるんだ
根本的に可能な話と、根本的に不可能な話を一緒にされても…
0356名無しさん@お腹いっぱい。2009/12/18(金) 06:03:41ID:hzioLmdJ
リカバリーモードの1.50を使うようなケースはすでに開発が終わってる
古いアプリくらいにして置く方がいいのは事実だと思うよ。
ネットでprx関連を検索するとカーネルモードが多い理由も考えてみるといい
カーネルモードで動く部分はなるべく小さくしてそのほかは
ユーザーモードで処理する方がいいと
これはソフト開発する上では重要なことだよ

第一リカバリーモードを切り替えさせるようなアプリはそろそろ
やめてもらいたい。
一部のカーネルモードアプリのためにリカバリーモードで
カーネル切り替え忘れが発生して本来は問題のない
変更された仕様に乗っ取ったアプリが動かないという
クレームの相手をしないといけないケースもあるから

0357名無しさん@お腹いっぱい。2009/12/18(金) 06:09:16ID:hzioLmdJ
あと七次元はいろんなところに顔出しては中途半端に相手して
尻吹きしない印象があるから余計なことするな

自分でログ読んだり、組み合わせを試せないようなやつに
余計なこと教えるな


0358名無しさん@お腹いっぱい。2009/12/18(金) 06:24:09ID:hzioLmdJ
>>351
技術云々の問題じゃない

開発能力の問題

動くソースと動かないソースを比べて差違を見極めるということ
ができない、もしくはやってない人が動きませんって騒いでるだけ
だから

その割りに余計な知識だけはある非常に厄介なやつ

その例がPSP_EXPORT_FUNCの件
>>338でできるとか言ってるんだったらprxの差違もやってみろよ
できないから”とりあえず動く物に合わせろ”と指摘されてるけどやらない

基本的にめんどくさい部分はスレ住人に丸投げ

七次元はそういうやつを甘やかしてるだけなんだよ
0359名無しさん@お腹いっぱい。2009/12/18(金) 06:29:20ID:hzioLmdJ
それにきつく言うのは最近prxの質問があったときにでてただろ

ユーザーモードでEBOOT.PBPを書いてどうしてもカーネルモード
が必要なときはprxで対応するって

それをやらないでEBOOT.PBPをカーネルモードでやろうとしてる
やつの相手なんてまともにする必要すらないよ

我を通したければ自分で何とかできるようになれってことだ
0360名無しさん@お腹いっぱい。2009/12/18(金) 06:46:33ID:GVELUNQK
>その割りに余計な知識だけはある非常に厄介なやつ
七次元のことですねわかります
0361七次元 ◆/7th/O83GE 2009/12/18(金) 08:33:18ID:MQDs6U0w
>あと七次元はいろんなところに顔出しては中途半端に相手して
>尻吹きしない印象があるから余計なことするな
大して書き込んだこと無いのに面白い印象持ってるなw
まあ、どうせ例のスレで妙なレッテルを貼ろうとしてる奴が
居ると思ったのでわざわざコテをつけてるわけなんだが

ageてる奴の書き込みを見ると、上でも回答者に噛付いてるところをみるに
要約すると、Homebrew技術を独占したいってことでおk?
書き込みの内容も含めて、そんなゴミみたいな理由で書き込みを制限されちゃ
スレは回んねえよ
そんなんだから廃れるんだよ
あと、さすがの俺でも何でもホイホイ回答するつもりはない

まあ、質問の書き込みがあるとスレが止まるのが、知らない人が多いのか
同じく技術を独占したい奴が多いのかで話は変わってくるが
後者なら俺の方がスレの例外になっちゃうなw

急いで書いてるので、話に漏れがあるかもしれない

>>360
知識の無い割りに非常に厄介なやつ
だろ…
俺に知識があるならスーパーハカーになってるわw
0362名無しさん@お腹いっぱい。2009/12/18(金) 08:51:29ID:hzioLmdJ
>Homebrew技術を独占したい
ワロタ
独占したいならprxの情報だって教えるかよ
相手の書き込みから判断して出してるんだよ

現在の主流の使い方をマスターしてからで十分だろ
すでにカーネルモードでEBOOT作るって感じじゃないんだし
0363七次元 ◆/7th/O83GE 2009/12/18(金) 10:23:28ID:aNjbwtMg
知ってるのに教えず、他の人が適切な回答したあとに回答者を叩いて
情報を出すのは質が悪いというか…

おまいさんは現在必要のない使い方をするなと思ってるが
俺は質問者が望んでる回答をしようと思ってる
価値観の違いだから意見が違うのは仕方のないことだ
だが俺に対する私怨はここで混ぜるもんじゃない
言いたいことがあるなら、俺の掲示板に思う存分書いてくれ

>>354
駄レスで埋めちゃってすまんね(´・ω・`)
0364名無しさん@お腹いっぱい。2009/12/18(金) 18:28:29ID:YrVm+wPG
私の事で言い争うのはもうやめて…
0365名無しさん@お腹いっぱい。2009/12/18(金) 18:51:23ID:GVELUNQK
えーと、七次元のところに掲示板があるだろ?

そ っ ち で や れ 、 目 障 り だ 
■ このスレッドは過去ログ倉庫に格納されています