PSPSDK ファイルを実行する関数

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
ptolemy
記事: 258
登録日時: 10年前

PSPSDK ファイルを実行する関数

#1

投稿記事 by ptolemy » 10年前

今まで、PC用の3Dゲームを作ってきたんですが、急遽、PSPのゲーム中にskypeを起動するプラグインの開発を友人に頼まれました。

そこで、
file:[flash0:/vsh/module/
skype_main_plugin.prx
skype_ve.prx
skype_skyhost.prx
skype_plugin.prx
を実行したいのですが実行する関数が分かりません。

サンプルも確認したんですが、英語ばかりで分かりませんでした。

困っているので、ご回答お願いします。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#2

投稿記事 by ptolemy » 10年前

一応なんとなく勘でLoadStartModuleを書いてみたんですが、普通に
LoadStartModule(パス)では、エラーが出ました。

やはりLoadStartModuleではなく他の関数でしょうか?
それか、書き方が間違っているだけなのでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: PSPSDK ファイルを実行する関数

#3

投稿記事 by softya(ソフト屋) » 10年前

ここだと詳しい人がいないかも知れません。
pspSDKですので、そちらに詳しい掲示板(多分英語)で聞いたほうが良いと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#4

投稿記事 by ptolemy » 10年前

英語ですか...
他を当たってみます。

最後に質問なのですが、
http://chitoku.symphonic-net.com/psppro ... file2.html

openfileなどの読み書きの動作と[実行する]は、全く違うのでしょうか?

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#5

投稿記事 by ptolemy » 10年前

何度も同じような質問で申し訳ないのですが、

ファイルを開く

ファイルを読み込む

の違いって何でしょうか?
また、中身を実行するときは、どちらを使いますか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: PSPSDK ファイルを実行する関数

#6

投稿記事 by softya(ソフト屋) » 10年前

実行すると言う場合は、プログラムカウンタを書き換える作業が伴ないます。
C言語の命令なら、エントリポイントのアドレスを関数呼び出しで呼び出すことが必要です。

>ファイルを開く
ファイルリソースへのアクセス手段の準備を終える。

>ファイルを読み込む
ファイルをメモリに本当に読み込む

でしょうか。メモリに読み込まないと始まらないので読み込むと呼び出すが必要です。

【補足】
プラグインなので、理想としてはDLLの様に呼び出せないと戻れない可能性があります。
C言語系のスタートアップルーチンを通るとまずいと思うので、普通の実行ファイルとは別形式なのかな?とは思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

FUNK
記事: 25
登録日時: 11年前

Re: PSPSDK ファイルを実行する関数

#7

投稿記事 by FUNK » 10年前

非表示エリア
この非表示エリアを表示するには、登録し、ログインする必要があります。
追記:
ソフト屋様と回答内容が被りましたので、質問者様への混乱を避ける為にハイドします。
すみませんでした。
以後気をつけます。
Boogaloo is funk feelin'.

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#8

投稿記事 by ptolemy » 10年前

ソフト屋さん、FUNKさんありがとうございます。
では、
読み込み、呼び出すと実行と同意になるのでしょうか?

また、ここをみるかぎり読み込む関数しかないのですが、読み込むと呼び出されるんですか?
http://yutanmen.web.fc2.com/pspsdkprog/10_file/


僕は、たぶんまだ理解していないのでご回答お願いします。

また、プラグインでの実行は、やはり、かなり難易度がたかいのでしょうか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: PSPSDK ファイルを実行する関数

#9

投稿記事 by softya(ソフト屋) » 10年前

Pspのプラグインがどう管理されているか分かりませんがリンク先の情報はプラグインではなく、ただのテキストファイルの様ですが。

> また、プラグインでの実行は、やはり、かなり難易度がたかいのでしょうか?

SDKとPSPの仕様次第です。詳しくないので分かりません。

[追記]
誤解されてそうなので。
> 読み込み、呼び出すと実行と同意になるのでしょうか?

オープン、読み込み、呼び出しの3セットで実行になる環境もありますし、もっと手間が必要な環境もあります。
PSPは、そこまで複雑ではないであろうと言う予想で書いております。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ちとく

Re: PSPSDK ファイルを実行する関数

#10

投稿記事 by ちとく » 10年前

こんにちは。
リンク先サイト管理人です。

モジュールの読み込みですが、pspSdkLoadStartModule 関数を使用してください。
http://psp.jim.sh/pspsdk-doc/group__PSPSDK.html

適切な include と Makefile の変更をお忘れなく。

P.S.
試したことはないですが、メモリ容量的に Skype 起動は厳しいような気がします。
またモジュールが読み込まれても、Skype が起動するわけではないので、詳細な調査が必要だと思います。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#11

投稿記事 by ptolemy » 10年前

すいません。返信遅れました。

わざわざ、書き込んでいただき、ありがとうございます。

pspSdkLoadStartModuleを試してみます。

メモリですが、いろいろ試していきたいと思います。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#12

投稿記事 by ptolemy » 10年前

試して見たところ、PSP側で
0x80010002 ファイルがない
と表示されました。
ファイルは、あるはずなのになぜこのように表示されるのでしょうか?

ちとく

Re: PSPSDK ファイルを実行する関数

#13

投稿記事 by ちとく » 10年前

"flash0:/vsh/module/skype_main_plugin.prx"
の書式で間違いないですか?
2000 以降の PSP ではないので確認できませんが、パスの指定が正しくない可能性が高いと思います。

ちとく

Re: PSPSDK ファイルを実行する関数

#14

投稿記事 by ちとく » 10年前

それと、このフォーラムにおいてマルチポストはリンクを貼るようにとされているようです。
検索しても情報が少ないのは理解できますが、最低限のマナーは守るべきでは。
http://detail.chiebukuro.yahoo.co.jp/qa ... 2122012927

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#15

投稿記事 by ptolemy » 10年前

すいません。
以後気をつけます。

誤字脱字がないか確認してみます。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#16

投稿記事 by ptolemy » 10年前

また、
skype_main_plugin.prx
skype_ve.prx
skype_skyhost.prx
skype_plugin.prx
の4つを実行すればいいんですよね?

それともskype_main_plugin.prxだけでいいんですか?

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#17

投稿記事 by ptolemy » 10年前

スペルミスでした。

プラグインではなく、ゲームとして起動させたら、フリーズでした。

ちとく

Re: PSPSDK ファイルを実行する関数

#18

投稿記事 by ちとく » 10年前

pspSdkLoadStartModule を実行するにあたり、どのパーティションを指定していますか。
pspSdkLoadStartModule(const char *filename, int mpid);
の第 2 引数です。

また、作成中のプラグイン自体の動作モードは何に設定していますか。
こちらは PSP_MODULE_INFO マクロの引数です。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#19

投稿記事 by ptolemy » 10年前

勘違いしていました。
以前のリンクサイトの第二引数のせつめいが
Memory parition ID to use to load the module int.
とあり、特に翻訳などをしなかったので、
http://yutanmen.web.fc2.com/pspsdkprog/10_file/
のように
0777にしていました。
___

http://plum2170.blog11.fc2.com/blog-entry-31.html
のサイトを参考にしているので、
PSP_MODULE_KERNEL, 1, 1
です。

リンク多くてすみません。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#20

投稿記事 by ptolemy » 10年前

一つ聞きたいんですが、
ゲーム中にskype通話

PSPでskypeチャット
では、どちらの方が作りやすいと思いますか?

ちとく

Re: PSPSDK ファイルを実行する関数

#21

投稿記事 by ちとく » 10年前

■ pspSdkLoadStartModule について
第 1 引数に指定されたパスのモジュールを、第 2 引数に指定されたメモリパーティションに読み込む関数です。
http://chitoku.symphonic-net.com/psppro ... -mem2.html
パーティション 1 あるいは 4 を使用するといいと思います。
失敗した場合は前回同様エラーコードを添えてください。

■ Skype について
Skype は API を提供していません。
したがって、第三者が Skype に対してソフトウェアを介さずに通信を行うことはできないので、
PSPでskypeチャット
は不可能だと思われます。(PSP の Skype モジュールにチャット機能がない可能性が高い)

■ PSP のプラグインについて
以前申し上げたとおりメモリ容量の関係上、PSP でゲームを起動している間にメディア関連の操作を行うのはほぼ不可能です。
ゲーム中に MP3 を再生するプラグインなどありますが、その動作が不安定だったり使用できない場合があったりするのはこのためです。
ゲーム中にskype通話
でも厳しいような気がします。(理由は後述)

■ メモリのパーティションについて
PSP (組み込み?) 特有の動作なので触れておきます。
PSP のメモリはパーティション分けがなされており、カーネル部分を扱うモジュールはカーネル領域のみで実行可能です。
リンク先にあるとおり、その領域は合わせてわずか 4 MB です。
Skype のモジュールがカーネルアクセスをするものなのかは調べていませんが、もしそうである場合は、カーネル領域に読み込む必要があります。
そのためにこの関数の引数にはパーティション指定があります。
あと蛇足ですが、0777 は「パーミッション」ですね^^;

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#22

投稿記事 by ptolemy » 10年前

詳しくありがとうございます。
また、失敗したのは、フリーズなのでエラーコードが表示されませんでした。

パーティションを1にして、実行してみたら、フリーズは、せず、
ゲームを終了しますか?
だけ操作出来ました。

前にもあったように読み込みは、成功したみたいですが、起動はできませんでした。

ちとく

Re: PSPSDK ファイルを実行する関数

#23

投稿記事 by ちとく » 10年前

以前述べたとおり
モジュールが読み込まれても、Skype が起動するわけではない
ので、当該モジュールを解析するなりして、Skype を起動する呼び出しが必要になると思います。

PSP での開発は今まで様々な人の手によってファームウェアが解析され成り立ってきたものです。
API が用意されていますが、これにアクセスできるのも地道な解析の結果です。
残念ですがこれ以降は情報が皆無なのでサポートすることはできませんが頑張ってください。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#24

投稿記事 by ptolemy » 10年前

まだ、プログラミングを始めて1年もたっていない初心者なんですが、解析とは、可能でしょうか?

物凄い知識が必要なのでしょうか?

また、簡単に大雑把にいうと解析とは、どのような感じで行うのでしょうか?

ご回答お願いします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 13年前
住所: 東海地方
連絡を取る:

Re: PSPSDK ファイルを実行する関数

#25

投稿記事 by softya(ソフト屋) » 10年前

詳しくないので傍観してましたが、アセンブラレベルでの解析が必要になる可能性が高いです。
当然ながらSkypeの起動方法も未知なので、PSPのカーネルレベルの解析も必要になるかもしれません。
つまり、ハッカーレベルの知識が必要じゃないかと言うこと何だと思います。
もし解析できてもメモリが足らない場合は実質起動出来ないかもしれませんって事も書かれているので、急いでも出来ない可能性が高い状況だと私は判断します。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
ptolemy
記事: 258
登録日時: 10年前

Re: PSPSDK ファイルを実行する関数

#26

投稿記事 by ptolemy » 10年前

不可能ではないが常人では不可能ということですね。

今回は、とても参考になりました。

3Dゲームの開発に戻るか、違うPSPのプラグイン or アプリを開発したいと思います。

ご回答本当にありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る