英語なんてDirectXのヘルプしか読んでね。
リファレンスくらいなら結構単語で分かるもんだしね。
PDFリファレンスとか英語でも実際にそれ使ってるソースと一緒に見れば案外分かる、分かった気になる。
日本語で分かりやすいほうが越したことは無いが。
……スレ違いか。
SNES9Xソースが宝の山なんですが。クラス使ってるし。分からない関数とか探してみると結構使ってる。
RINとSNES9Xといいソースに恵まれてるね。ごりごりいける。
607 :
名無しさん@お腹いっぱい。:2005/06/01(水) 23:05:22 ID:Vjhx5Ct0
>クラス使ってるし
どのあたりですか?まだあまり見てないけど、C++でいけますか?
608 :
名無しさん@お腹いっぱい。:2005/06/01(水) 23:09:59 ID:Vjhx5Ct0
あった!!
class CMemory {
public:
bool8 LoadROM (const char *);
uint32 FileLoader (uint8* buffer, const char* filename, int32 maxsize);
void InitROM (bool8);
メイクファイルが難しそうだけど。
俺もよくわからんのだが、CMemoryクラス、グローバルでMemory
元々SNES9Xにあるっぽい?ROMロードで呼んでるし使ってるのは間違いない。
psp.cppの1147行目
Memory.LoadROM( "fatms0:/PSP/GAME/SNES9X/ROM.SMC" )
今はざざっと眺めて流用してるだけでコンパイルまでしてないけどエミュスレの方でも昨晩C++の使い方で色々教えてくれる人が居た。
>665 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2005/05/30(月) 15:57:45 ID:uxfMLmV+
>c++のコンパイラ自体はある。後は足りない関数自作するか、どっかから持ってくるだけ。
>newとdeleteと関数名忘れたけどgccが例外処理の下請けで使ってる関数(リンクエラーで出るはず)を自作すれば最低限動く
>(あと静的オブジェクト使ってたらmain前後で静的コンストラクタとデストラクタの呼び出しも)
>実装はlibstdc++参照しれ
>newとdeleteはmallocとfree呼ぶだけだけど、mallocの実装はそこらに落ちてるから(Doug Lea mallocがオススメ)
>いわゆる標準C++ライブラリがほしけりゃ
>newlib(標準Cライブラリ)とlibstdc++をコンパイルしれ
>PSP開発にこだわらずに、組み込み系とかのOS無い状態からの開発ネタを探せば情報はいっぱいあるでよ
>ひまができたら文書にまとめる
現行の19スレ目でもee-g++って使えるの?ってあるし多分コンパイラはコレ?
ただクラスを使うだけなら可能かも。C++固有のライブラリは無いけど。
ごちゃごちゃ探してる間に先に見つけられちゃった(´・ω・`)
今までの慣れでクラス使えるだけでも関数整頓できて美味しいけど環境構築がややこしそう。
611 :
名無しさん@お腹いっぱい。:2005/06/01(水) 23:28:11 ID:Vjhx5Ct0
C:\ps2dev\ee\bin\ee-g++.exe
これですね。クラスが使えるだけでも随分勝手がよくなりそうです。
ありがとう!!!
>>609 私はコンパイル完了までに2時間かかったので
他の人には簡単にコンパイルして欲しかったのです。
snes9xのPSP周りのソースは結構見難いので
コンパイルで挫折すると改良する気がなくなります。
>C++の使い方で色々教えてくれる人が居た。
でも私はC++を知りません。
makeの通し方を書いただけです。
>>602 っ日本語マクロアセンブラ
#define もし if
#define 切り替え switch
#define 〜
たしか、可能だったかと
>612
か!神さま!?
ま、まだmakeできてません(´・ω・`)
BMS読み込み→構造体に突っ込むというPSPと無縁のトコで躓いて、strstrとか真似して作りつつがんがってまつ。
あぁstd、stringクラス使いたい(´Д⊂
Cの文字列もやらなきゃね。
>613
#define ハァ?(゚Д゚)y─┛~~ if
#define (゚Д゚≡゚Д゚) switch
#define ( ・ω・) else
こんなんも出来るんかな?こんなソース書きたいw
615 :
名無しさん@お腹いっぱい。:2005/06/02(木) 00:41:49 ID:Ut1R+f4g
なんだか、C++らしきものでコンパイルだけは通ったよ。
HELLOPSPのソースに
class test{
int i;
};
こんな内容のtest.cppをつくってメイク。
c:\ps2dev\ee\bin\ee-g++ -march=r4000 -g -mgp32 -mlong32 -c test.cpp
はっきりいってコンパイルオプションの意味がサッパリ。
-cってなんかあやしいように感じるのだが。
>>615 ee-gcc自体がcppコンパイル時に内部的にee-g++呼び出すような仕様になってなかったっけ?
コンパイルオプションは \> ee-gcc -help とかで簡易ヘルプ出ないか?
-c って単にコンパイルするソースを指定するオプションだったとオモタぞ。
手元にee-gccパックあればすぐわかるんだが・・・
すまんな。中途半端で。
ググってみたらこんなん出てきた。
gcc(g++)のオプション
-S アセンブリ言語に変換 (拡張子はs)
-E プリプロセッサの処理までを行なう
-M プリプロセッサによってmakeで使用可能な依存関係の記述を出力する
-dM (-Eと共に使用し)定義されているマクロとその値を表示する (プリプロセッサの処理のみ行なう) cppのオプション
-D[macro_name]=[value] マクロの値を指定
-o [file_name] 結果の出力ファイル名の指定
-c オブジェクトファイルを生成 (リンクを行なわない 拡張子はo)
-I[path] includeファイルのパス指定
-L[library_path] ライブラリのパス指定
-v 標準エラー出力に、現在実行されているコマンドを表示する。
-ftemplate-depth-NN テンプレートのinstanciateの深さを設定する
-finline-functions 十分単純な関数をinline化する
-frepo テンプレートの実体化がどこで行われたかを示した .rpoファイルを生成する。
-fno-implicit-templates 暗黙のテンプレートの実体化を行わない。プログラム全体で一箇所だけでテンプレートを明示的に実体化することで、オブジェクトファイルサイズの和が減少し、リンクが速くなる。
-O0 最適化を行わない
-O1 最適化
-O2 もっと最適化
-O3 もっともっと最適化
-Os コードサイズに関する最適化
-pg gprofで使用できるプロファイル情報を書き込むコードを生成する
-pedantic ANSIの規格にしたがっていないプログラムに対して警告をする
オブジェクトファイル作成ぽいからあってるのかな?
アチラの人に言わせりゃ「日本人は英語話せないのに何故プログラムできるの?」だそうで。
そもそも言語レベルで思想が違うから単純に単語を置き換えても電波にしかならんよ。
hitojiti
>618
それじゃイタリア人相手にローマ字でしゃべろうぜ
俺も昔学校で外人交流の文通で相手に言われたな。
なんで英語読めるのに話せないの?って。
読むのも書くのも辞書と先生を使ってんだよOTL
>>614 BMSって何ですか?
C++はさっぱりですのでその辺の質問は別の方、お願いします。
ちなみに#defineは2バイト文字使えなかったと思う。
MacのXCodeでは怒られました。
>621
BM98のファイル形式です。
#TITLE musictitle
#BPM 120
#wave01 bgm.wav
みたいなのがつらつら書かれてるテキストファイル。
C++は+で文字列足したり=で代入できたり比較も簡単だったりしたんで、無印Cが難しいw
とはいえ出来ないわけじゃないのでちまちまやってますw
顔文字プログラム。無駄そうだけどやってみたい( ・ω・)
試しに今書いてるプログラムの一部をクラス化してみたら、ee-ldで
クラス化したソースの.oで undefined reference to 〜他の.oの関数
が出まくり。
よう解らん。 大人しくcで書いとくか・・・
624 :
名無しさん@お腹いっぱい。:2005/06/02(木) 02:04:11 ID:Ut1R+f4g
××。
undefined reference to 'xmain'
ひゃーー。SNESはどうやってるんだろ?
某エミュ移植してますが、一応LifeGame作ったので自作な人でもあります。
C++で書かれているNesterJのソースコードはC言語に全部置き換えて移植してます…orz
NesterJはRukaって人が移植してるみたいだよ
って本人様でしたか…
>>625 凄い。凄すぎます。
寝ないで移植したのでは?
あなた一人の体では無いので気をつけて下さい。
ここで聞くのがなんかスレ違いな気もするけどテンパって
BMSのデータの持ち方をMIDIファイルみたいに開始時間からの絶対位置で持ってたんだけど
途中でBPM変更とかになると「小節XBPMで一小節に掛かる時間」で時間を取ってたのがおかしくなるのに気付いて。
他のBMSプレイヤーはテキストファイルをそのまま持ってリアルタイムで作ってるのか?とか思ったりして
で、その場合現在時間とのすりあわせをどうやってるのかわからなくなって。
どっかにオープンソースなBMSプレイヤーってないですか?
テキスト読み込み変換は出来たんだけどBMSプレイヤのデータの持ち方?アルゴリズム?でテンパというかごめんテンパ。力量不足ナ。
ん?ゲーム中の操作でテンポが変動するってこと?
それともテキストファイルにテンポ変化が書いてある?
後者なら、べつにリアルタイムにしなくてもいけそ
う、う、ありがとう。
とりあえず630見てやってみる。
後者なんだけど、現在時間から現在の位置を取る場合?
なんか書いててもよくわからなくなってきた。落ち着け俺。曲中でBPMが変化するときに描画位置、あ、変わらないのか?
素でテンパってきてる。スクロールスピードを遅くする?曲開始からの絶対時間から現在位置を求める方法がわからないというのか。
マジで頭がいかれてきた。なんだこれ。
ドラマニみたいにスクロールスピード統一ならいけたのに……OTL
とりあえずわけわからんくなってきたんで分かるWindowsで作って移植みることにしますOTL
エロゲ系で悪いんだがSystem3.5の移植やってる人居る?
当方こういうのに手を出すのは初めてなんで何からやればいいのか全くわからん・・・。
やっぱ初心者が手を出す世界ではないのか orz
ちょいと本屋に行ってなんか参考になりそうな本探してきます・・・。
>>633 それっぽい事言っとけば誰か代わりに移植してくれる思ってないか。
LinuxでPSPの開発環境構築しようと思うんだけど、
参考になるページってあります?
>>633 アリスの社員がFOMA版 System 3.9 作ってたから、もしかしたら・・・
>>636 普通に環境を構築してGCCと、PSP用のインクルードを通せばいいだけのような・・・
基本的にはただのMIPSコンパイラだし
とりあえず、普通にクロスコンパイル環境を作成してみては?
>>633 なつかしー
まだ足元にALICEの館4・5・6のオフィシャルガイドがあるよ。
確かこれにSystem35の使い方が乗っていた気がする。
結構System35は使いやすかったような記憶があるなぁ。、
PSPに移植するなら、命令1個1個地道にPSP用に作るしかないな。
(昔のBasicよろしくインタープリタな感じになったらとてもいいですね、と要望だけあげておく)
さて、そろそろ自分のアプリを作るの、再開するぞ^ー^
なんか技術話のスレなのか要望のスレなのか、両方か。
FOMAの場合は、携帯本体にどうやってデータを移すかが問題だな。
クロスコンパイラは普通にmipsel-elfを作ればいいよ。newlibも作っとくと吉。
642 :
名無しさん@お腹いっぱい。:2005/06/02(木) 23:11:00 ID:Ut1R+f4g
できたーーーーーー!!
C++でHelloPSP!!
コンパイル&実行確認成功!
・・・まだやってたのとか言われそうだけど。
void PG::pgWaitVn(unsigned long count)
{
for (; count>0; --count) {
sceDisplayWaitVblankStart();
}
}
etc...
うれしい!
pgなんてクラス化しちゃっていいのかな?
やっぱりコンパイルオプションをちょっといじるだけだったよ。
あとシステムコール系はよくわからないので
全てextern "C" しました。
>642
おぉ、おめ乙!
SNES9Xのextern"C"はそういうことかぁ。
API関連をクラス化とかやっとけば後発も楽になるね。俺も試してみよ。
646 :
ID:Ut1R+f4g:2005/06/02(木) 23:52:23 ID:Ut1R+f4g
苦労の数時間は全てこの1行に集約されてしまいました。
↓↓
c:\ps2dev\ee\bin\ee-gcc -O4 -ffreestanding -ffast-math
-fschedule-insns2 -fomit-frame-pointer -fforce-addr
-fstrict-aliasing -funroll-loops -fdelete-null-pointer-checks -fno-exceptions
-march=r4000 -g -mgp32 -mlong32 -c main.cpp
ビフテキ様のメイクファイルから引っ張ってきただけです。
ほんと、感謝してます。(未だに意味は不明)
このオプションをつけないと、「__gxx_personalize_v0がない」とか
意味不明のお叱りを受けます。
つーことで、みなさん頑張っていい仕事してください!!
ビフテキサソ ハァハァ
648 :
sage:2005/06/02(木) 23:59:48 ID:Zro2A6py
>648
今こっちで話してた内容みたいな事をそっちでも話してたんね。
PSPE動かないけど実ハードなら動くみたいな事が書かれてる?
とりあえず自分で試すが一番早いかな。
650 :
648:2005/06/03(金) 00:14:28 ID:47sW7cf5
> it works just fine on hardware
と書かれてるから、動くのだと思ってた。
でも、まだ試してない。ゴメソ。
言い忘れてた。
>646&びふてきたんアリガトン!
外人さんも頑張って欲しいからC++で出来たらまとめて情報伝えたい。
その前に昼から自分のが手詰まりでテンパってて仕方がないが。
NEOCD神に倣ってgccくらいコンパイルしる
うっは!CPPコンパイルできるのか!
夢がひろがりんぐ
>>652 それはそうなんだが、あーんなのとか、そーんなのとか、他で忙しくてやってる暇がない。
つかgccコンパイルしないとneocdがコンパイルできぬ
>656
マジダ
すげぇ興味深い。
BM98でやるにはロード長くなりそうっつーか、俺はそういうこと考える前にちゃんと形にしないとOTL
>>658 ゆっくりゆっくりやってくださいな。
BM98ファンは、開発されてる!ってだけで喜んでるんすから。
いくらでも待ちます。待ってられます。
温泉でも入ってまったりしる。
>>646 おぉ、マジでできました!
これでコードが大幅に綺麗にできます…
感謝!
>>646 追伸です。
仮想関数を使うためにはRTTIを(今のところ)無効にする必要があるので、
-fno-rtti もつけた方が良いかと思います。
>>643 >Linux Zaurusで開発しようかなあと思ったんで。
おお、なんかいいなそれ、面白そうw
携帯環境だけでかなりのことが出来そうだ
Zaurusもって無いけどな orz
>>658 うお、BM98移植されますか
期待してます 頑張ってください^^
その間に
自分は1.5ユーザーなのでもう諦めて中古探してきます( ´・ω・`)
機種依存文字とPSPについて質問です。
RINでドラクエT・Uをしようとすると、「ドラゴンクエストぶ・ぷ」と文字化けされて表示されます。
TやUがなが10に入っていないのが原因なので、その分追加して回避できればと思うのですが、
そんなときの処理方法についてです。
void Draw_Char_Zenkaku(int x,int y,const unsigned char u,unsigned char d,int col)
の中でfnt を決定しているので、
fnt = (unsigned short *)&zenkaku_font10[n*10];
if(code == 0x8754)//T
{fnt = (unsigned short *)&zenkaku_font10_Ex[0*10];}
if(code == 0x8755)//U
{fnt = (unsigned short *)&zenkaku_font10_Ex[1*10];}
みたいに、zenkaku_font10_Exを追加して処理すればいいと思っています。
しかし、0x8754がTなWindowsしか使わない私の環境ではうまくいきそうですが、
macとかLinuxの場合は駄目なのでしょうか?
と、いいますかファイル名もファイルデータと同じく、OSで普段使う文字コードに依存しているのでしょうか?
macもLinuxも手元に無いので確認できません。
以上、よろしくお願いします。
(自作ソフトスレですので、「ファイル名をドラクエT・Uからドラクエ1・2に変えればいいじゃん」ってのは
なしでお願いします。)
機種依存文字にはあまり関わりたくないな。
>>664 WindowsとMacでは機種依存文字は相互に化けるので、PSPで機種依存文字を
対応させるにはどっちかに合わせるしかない。
具体的には、ShiftJISだとすると
8740〜879E (○数字、単位(`等))
ED40〜EE9E (機種依存拡張漢字)
FA40〜FC4B (機種依存拡張漢字)
はどうしようもないのでWindowsに合わせると科しないとだめだと思う。
要するにmacで「ドラクエT」とつければWindowsで文字化けするし、
Windowsで「ドラクエT」とつければmacで文字化けする。Linuxでの
JIS外文字の扱いは知らない。
Unicode対応してれば適当なコードに割り振られるから大丈夫かも
しれないけど、FATじゃ日本語の場合ShiftJIS決め打ちになるので、
結局どれかに合わせるしかないかと。
漏れはフォントの規格よう解らんかったので、MSゴシックで生きてる
フォント全部入れた。
尻の辺りの外字領域?って手前の領域とそのまま被ってるけど、
何か意味あるんですかね。
>>668 拡張漢字がダブってるのは、前半がIBMのコード、後半がNECのコードだった
からかと。DOS/Vの頃はわかれてたけど、WindowsになったらIBM-PC版と
NEC版のWindowsが存在する為か、たまたま両者が重ならないのをいいこと
にMSフォントで両者共存させられた。
元ネタが一緒なのか文字の並び方は同じだけど、なぜか記号の位置が漢字
の後ろか前かで違ってたりする。
ごめん間違った。前半がNEC、後半がIBMだった。スマソ。
>>667 FATはShiftJIS決め打ちだけど、実際に使われてるのは
VFATだからロングファイルネームはUnicodeで格納されてる。
でもファイル取得で返ってくるのはShiftJIS。
Win側で転送ソフトを作成しそこで
ファイル名変換->PSPへコピー
が無難なのではないでしょうか?
機種依存文字なんか初めからないものとして無視してる。
そんな文字使う方が悪い。
JIS第3・第4水準を実装する、という手もある。
アップローダでライブラリ公開した人ここ見てるかな?
マジでアリガトン!
>>675 csd作った本人ですが合ってますかね・・・。
ここはたま〜に見てますよ。
いろいろ参考にさせてもらってます。
ライブラリは早速役に立ってるみたいなんでかなり嬉しいです。
newllibとやらのメイクはうつーきぼん。
678 :
664:2005/06/04(土) 04:05:31 ID:BFwgOOsB
>>666-672 みなさま、機種依存の文字についていろいろと書き込みありがとうございます。
やっぱり、WindowsとMacとLinuxだと、文字コードが違うってのが、
PSPになっても影響するんですね。
とりあえず、今回のは保留にします〜。
今後は、そういった環境の違う人もいるんだぞということに
気を付けつつ製作しようかとおもいます。
では。
影響なんて無いよ。 ただフォントが無いだけ。
>>677 Cygwin上でクロス環境整備しようとやってみた。
とりあえず binutilから。
持ってきたバイナリ。
ftp.dti.ad.jp /.1/GNU/binutils/binutils-2.16.tar.gz
$ configure --target=mipsel --prefix=/usr/local --disable-nls
$ make
$ make install
インストール中にエラーが出て死ぬ (・_・、)
先に進めねぇじゃねーかぁぁぁぁぁ!!
メモリリークしまくり。
ブラウザの作り方教えて
何ブラウザだ?
2chブラウザです。
現状ではブラウザ無理じゃないっけ?
ブラウザ作ったよ。
ファイルブラウザだけど。
>>684 関門としては、
1.どうやって2chのデータ(=html形式?それともjaneのログ形式?)をPSPに持ってくるか。(USB?無線LAN?赤外線?)
2.何を表示するか(2ch用なら、とりあえずはテキストリーダーと同じでいいのかな?絵やフォームはいらないのか?)
がありそう。
まずは、文字Viewerを作って見てはいかがかしら?
PSPとUSBでつないで、適当なhtmlなりdatをメモステにコピーして、
それをPSP用自作アプリで見られる程度のものを。
で、余力があれば無線LANとか赤外線に手を出して見る、と。
最低限のhtmlタグの知識はあったほうが良いから、調べなきゃなんないけど、
こつこつ作っても1ヶ月もあれば最低限の機能(除く無線LAN、赤外線)を持ったアプリが完成できるんじゃない?
gccのビルドってマジで時間かかる。
始めてから何時間も経ってるのに終わらないよ。
しかもうp板のパッチ当てる前にmake実行しちゃったんだけど。
どうしよ、これ。
やっとビルド終わった。
さてアンインスコしてからパッチ当ててまたビルドするか。
GPU解析の話題はこのスレでいいのかな?(´・ω・`)
多分。
GPU関連のAPIがもっとわかれば一気に可能性は広がるのになぁ
PSPの力を出し切れてない現状
PSPE0.9b、何だか画面更新のスキップが、時間じゃなく、VRAMへの
描画3〜4回毎の更新になった様で、画面更新を極力減らしたキー
イベンド型の非リアルタイム描画だと、状況がさっぱり解らなくなり
辛いです・・・
あ 部分更新だとゴミが残ったりするからちと違うのかな。
libguは静的にリンクされちゃってるから、
既存のゲームから解析するしかないわけだけど…
漏れは某RRのBOOT.BINから
sceGuDrawBuffer
sceGuDispBuffer
sceGuDepthBuffer
sceGuViewport
の該当箇所を見つけるのが精一杯だったよ…
場所を見つけただけじゃ使えないし orz
>>696 喜んでるところを悪いがgcc-4.0.0はバグが多いので、
謎物件のところから3.4.2をダウソしといたほうが吉。
あの・・・PSPのCPUにMMXの様な、気軽に使えるSIMD演算は付いてる
のでしょか? PS2のVUはさっぱりでした。
>>697 いつの間にかそんな便利なものが。というわけで
やたー、謎物体のToolChainでHello Worldできた。
binutilsが解凍できなくてつまづいたけど、
tar zxvf mipsel-elf-binutils-2.16.tar.bz2 -C /usr/local
このコマンドで解凍できた。なんでgzipファイルなのに
bz2って拡張子になってたんだろう?
>>699 startup.s: Assembler messages:
startup.s:19: Error: illegal operands `sw $s0,4($sp)'
startup.s:20: Error: illegal operands `sw $s1,8($sp)'
startup.s:22: Error: illegal operands `la $v0,_gp'
startup.s:23: Error: illegal operands `move'
startup.s:25: Error: illegal operands `move $s0,$a0'
startup.s:26: Error: illegal operands `move $s1,$a1'
startup.s:28: Error: illegal operands `la $a0,_main_thread_name'
startup.s:29: Error: illegal operands `la $a1,xmain'
startup.s:30: Error: illegal operands `li $a2,0x20'
startup.s:31: Error: illegal operands `li $a3,0x40000'
startup.s:32: Error: illegal operands `lui $t0,0x8000'
startup.s:34: Error: illegal operands `move $t1,$0'
startup.s:36: Error: illegal operands `move $a0,$v0'
startup.s:37: Error: illegal operands `move $a1,$s0'
startup.s:39: Error: illegal operands `move $a2,$s1'
startup.s:42: Error: illegal operands `lw $s0,4($sp)'
startup.s:43: Error: illegal operands `lw $s1,8($sp)'
startup.s:44: Error: illegal operands `move $v0,$0'
startup.s:94: Warning: setting incorrect section attributes for .rodata.entrytab
le
ショボーン
>>700 >>696に書いたように、レジスタを呼び名からナンバーに変更したら
コンパイル通るよ。例えば$a0は$4にする。でもそれよりネオジオCDの
ソースを落として参考にしたほうがいいかな。あっちはstartup.sの最初で
regdef.hをインクルードして、レジスタをナンバーから呼び名に#defineしてる。
702 :
名無しさん@お腹いっぱい。:2005/06/05(日) 18:39:22 ID:ehRSI7cn
>703
うぉーいアリガトン!
一応上で出てたヤツでごちゃごちゃ弄って見て、なんとかBMS読み込み&表示&スクロールまではいけますた。
土日は(遊びに)忙しくて全然進んでない!東京楽しい田舎モノ……OTL
>>706 そうか、作者のサイトにあった「しくる」とはそういう意味だったのか。
解凍できた。すまん、正直ありがとう。
708 :
名無しさん@お腹いっぱい。:2005/06/06(月) 21:57:09 ID:vFgYvwqg
静かですね。自作プログラムがなかなか新しいのでてきませんね。
PSPver1.0でエミュレータを動かそうのほうは無駄に伸びてますが。
基本的に技術交換のスレだから質問が無いってのは順調な証拠じゃん
開発してそれを公開するかどうかだって開発者次第だし。
色々小物作ってるが、wikiのうp板は殆どエミュ専用な感じでうpしづらい。
>>710 別にそんなことないよ。
むしろ毛色の違う物は新鮮で喜ばれるかもよ。
文字列のnバイト目が半角か全角か、全角の2バイト目かってなかなか
解らない物なんだねぇ。
PSPで諸々の関数一から作る事になって、初めて知ったorz
メモ帳欲しいな。
流石にメモ帳は・・・PDA買ったほうが
716 :
604:2005/06/07(火) 14:52:26 ID:ofkmqqtr
ttp://psp-dev.org の環境で newlib-1.13.0 コンパイルした方はいらっしゃいますか?
./configure --target=mipsel-elf
make CFLAGS="-O2 -g -march=r4000 -mgp32 -mlong32 -msingle-float -mabi=eabi"
とすると、
mipsel-elf-gcc -B/usr/local/pspdev/newlib-1.13.0/mipsel-elf/newlib/ -isystem /us
r/local/pspdev/newlib-1.13.0/mipsel-elf/newlib/targ-include -isystem /usr/local/
pspdev/newlib-1.13.0/newlib/libc/include -DPACKAGE=\"newlib\" -DVERSION=\"1.13.0
\" -I. -I../../../.././newlib/libc/argz -O2 -DMISSING_SYSCALL_NAMES -fno-built
in -O2 -O2 -g -march=r4000 -mgp32 -mlong32 -msingle-float -mabi=eabi -O2 -O2
-g -march=r4000 -mgp32 -mlong32 -msingle-float -mabi=eabi -c ../../../.././newl
ib/libc/argz/dummy.c
as: unrecognized option `-EL'
こんな感じでエラーになってしまうんですけど・・(;´д⊂)
-EL オプションなんて何処にも定義されてないんですが、他所から設定持ってきちゃうのかな?
717 :
名無しさん@お腹いっぱい。:2005/06/07(火) 21:40:40 ID:Lkr7KWHn
cygwinの上にPSPDEV環境はどうやってつくるものなのですか?
DOSプロンプトでメイクしていたので、cygwinの扱いがわかりません。
718 :
名無しさん@お腹いっぱい。:2005/06/07(火) 21:53:17 ID:kqpVsckV
神よ、どうか1.5ユーザに希望を。
719 :
名無しさん@お腹いっぱい。:2005/06/07(火) 21:56:08 ID:Lkr7KWHn
>>717 自己レス
すみません、pukiwikiを見たらできそうでした・・。
何か昨日からHELLOWORLDのトコがアクセスできないのはガイシュツ?
にちゃんブラマダー(・∀・ )っ/凵⌒☆チンチン
こう言うの見る度に、公開する事はこの手のアホに餌やる事なんだと思い嫌になる。
餌マダー(・∀・ )っ/凵⌒☆チンチン
亀レスだが、
>>678 そのへんのローマ数字や丸付き数字は
WindowsのものがJIS X 0213として正式に規格に取り入れられたので
もはや機種依存文字ではない。
少なくとも読んで表示する分にはなんら問題ないし、
Macに遠慮する必要もない。
>>725 古い規格のものを使ってるとしたらどうなる?
それでも機種依存文字ではないと言うつもりか?
>>726 「機種依存文字ではないが新しい規格のため、古い規格しかサポートしていない環境では
表示出来ない」から「もはや機種依存文字」とは言わんのだよ。
古い機種だってJIS X 0213サポートすりゃ読めるんだし。日本語はちゃんとしような。
728 :
名無しさん@お腹いっぱい。:2005/06/08(水) 11:30:27 ID:t4B/otvC
>>727 JISX0213をサポートしてる機種を教えてほしいものだが。
少なくとも現状のWinXPはサポートしていない。
>>729 そんなアプリ持ち出されても困るんだが?PSPとどういう関係が?
「サポートすりゃいい」ってすごい理屈だな。そりゃサポートすれば
何だって大丈夫だろうけど、なんか解決になるのかそれが。それな
ら「Macに遠慮」もなにもMacがサポートすれば問題ないじゃないか。
何いいたいのかわからん。
キチガイは黙ってろよバカ。
┐(´ー`)┌
┐(´ー`)┌ =3
>>730 よくよんでスレタイを大声で叫んでみよう。さんはい。
対応するなら機種依存ではない文字コードとなったJIS X 0213がある
別に対応したくなければしなければ良いし
MACの文字コードだけ対応させたければそれだけ対応でも良いじゃん
開発なんて自分の好き勝手にやればいいんじゃないの?
そんだけの事なのに何で噛み付いてるのかよくわからん。
マンドクサガリなおれは全角対応にするのも面倒だからアルファベットのみだけどそれでもええやん。
>>730 「WinXPはサポートしてない」と言ってるから(そもそもWinXPは「機種」ですらないがな)
「WinXPで動くJIS X 0213を実装しているソフト」を例として紹介しただけなんだが。
言いたい事は
>>735さんが代弁してくれたので消えるよ、スレ汚しすまん。
>>737 まぁそもそもそんなの紹介することがスレ違いなんで。
今度からはスルーしてくれ。
739 :
名無しさん@お腹いっぱい。:2005/06/08(水) 19:44:34 ID:h0WILvdH
libstdc++のライブラリには他になにが必要ですか?
undefined reference to ** が大量に出て死にそうです・。
740 :
名無しさん@お腹いっぱい。:2005/06/08(水) 20:29:44 ID:xd9CAGW8
GBAのマジコンでGBC吸い出せるんですか?
スレ違い
不要な処理をコメントアウトしたら動作が遅くなった……。
なんでやねん。
>>743 理由はいくつかあると思うが
よくあるのはサイズが変わって、キャッシュミスするようになってしまったって所かなあ?
あと、最適化の具合で、パイプラインがつまりやすくなったとか・・・(こちらは少し考えづらいけど)
なんにせよ情報不足なので、詳しい判断には、ソースの提示が必要と思われ
csdさんの作ったライブラリのstype.hをインクルードしてコンパイルしたらこんなエラーが出ますた
..\lib\libcsd.a(stype.o)(.text+0x698):d:\Free\Game\PSP\csd\debug\gcc\libcsd/styp
e.c:1390: undefined reference to `strspn'
..\lib\libcsd.a(stype.o)(.text+0x6a8):d:\Free\Game\PSP\csd\debug\gcc\libcsd/styp
e.c:1391: undefined reference to `strcspn'
..\lib\libcsd.a(stype.o)(.text+0xd28):d:\Free\Game\PSP\csd\debug\gcc\libcsd/styp
e.c:1559: undefined reference to `strncpy'
..\lib\libcsd.a(stype.o)(.text+0xd68):d:\Free\Game\PSP\csd\debug\gcc\libcsd/styp
e.c:1579: undefined reference to `strncpy'
..\lib\libcsd.a(stype.o)(.text+0xdc4):d:\Free\Game\PSP\csd\debug\gcc\libcsd/styp
e.c:1602: undefined reference to `strncpy'
make[1]: *** [csdlibrary] Error 1
デバッグ用のPSPはバッテリ外しといてアダプタ駆動した方がいいね。
いまさら気づいた。
ちなみに皆さんUSBケーブルは差しっぱなし?
うちACケーブルが右後ろ、USBは左前から伸びてきてて、差しっぱなし
だと禿しく邪魔なので、実機で確認する度に抜き差ししてる。
挿しっぱなし。
PSPから伸びるUSBケーブルとACケーブルを見ていると、
どんな携帯ゲーム機だよとつっこみたくなる。
あんまり実機で確認しないから、なんともいえない。
PSPEの出来がかなりいいので、デバッグが楽です。
ただ、ファイルの書き込みがPSPEだとできないから、
保存できてるかを確認するときは差しっぱなし。
752 :
名無しさん@お腹いっぱい。:2005/06/10(金) 02:27:02 ID:7C/NOowc
pspdev環境、普通にリナックス上に構築できた。
メイクも通るし、Cygwinよりよさげ。今日は寝よう。。。
>>750 漏れもPSPEで書けなくてしばらく悩んだけど、WRONLYをRDWRに
したら書けたよ。
>>751 これ良いなぁ。 しかしUSBの方にもVCC繋がってるんだろうか。
他のminiB機器と兼用してるので、PSP専用て事で削られてるとちと困る。
USBはパワーがないから
充電が完了されるのにかなり時間が掛かる
756 :
750:2005/06/10(金) 14:39:05 ID:aB0RPlLf
>>755 PSPEの作者様でしょうか?どうぞよろしくお願いいたします。
とりあえずPSPファイルの先頭128BYTEとB0〜D3まで
何が書いてあるかわかった
メーラーを作るのは絶対に無理?
14バイトの構造体をsizeofすると16が返ってくるのはCの言語仕様に
基づく物なんでしょうか?
少しはまった・・・
763 :
名無しさん@お腹いっぱい。:2005/06/10(金) 19:43:44 ID:7C/NOowc
filler(乳パットみたいなもの)で構造体を16バイトでつくればいいはず。
764 :
名無しさん@お腹いっぱい。:2005/06/10(金) 19:44:54 ID:7C/NOowc
char filler[2];を追加する。不都合がなければね。
BMPを読み込もうと思って、BITMAPの構造体そのまま持ってきたんですが、
sizeofで必要分読み進めてったつもりが、sizeofの返値がWinと違い、
ずれてしまっていたと言うオチです・・・
意味があるかどうかわからんけど
CWより
#define SCE_KERNEL_SA_THPRI 0x0100U
extern int sceKernelCpuSuspendIntr (void);
extern int sceKernelCpuResumeIntr (int oldstat);
extern int sceKernelGetThreadId(void);
extern int sceKernelCreateSema(const char *s, int flg, int val, int max,
const void *p);
extern int sceKernelDeleteSema(int id);
extern int sceKernelWaitSema(int id, int count, void *p);
extern int sceKernelPollSema (int id, int count);
extern int sceKernelSignalSema (int id, int count);
sceDisplaySetFrameBufの第3引数がピクセルモードだから、
そこをRGBA8888にしてやれば32bitカラーになるかな
あまり意味はないけど
>>761 コンパイラの実装によります。
VisualC++なんかだとプロジェクトのプロパティから変更出来たりする。
>>768 コード生成の所のはアライメントだけで、sizeofは変わり無い様な。
>>769 今検証したらその通りですね、スマン。
ただパッディングの値はコンパイラ依存でOKでいいのかなコレ、
K&R本でも明確になってない…。
>>761 MIPSではワード(32bit)アクセスはワード境界をまたげないので、
構造体にintなどが含まれていると4バイト単位になるようパディングされる。
そうしないと構造体を配列にしたときに、ワード境界をまたいでしまうため。
ちなみにsizeofは、構造体配列の一要素でも、単一の構造体でも、同じ値を返す。
1.5以降で自作ソフトが動かないのは
”暗号化されたものしか動かないから”っていうことになってますが
実はELFファイルの中身がPSPの要求する形式になりきれていないから
動かない、っていう可能性はありませんか?
UMD内のBOOT.BINファイルには
.rodata.sceModuleInfo
.rel.rodata.sceModuleInfo
.rodata.sceResident
.rel.rodata.sceResident
.rodata.sceNid
こんなセクションがあったりするみたいですけど
いま出回っている自作ファイルには
.rel.rodata.sceModuleInfoしかないみたいです
エロゲコンバータまだできてないの?
>>772 ハッキングか1.5のスレに書いた方がいいと思う。
初心者質問でごめんなさい。
もし、見当違いな質問だったらスルーして下さい。
いまはみんなCでコーディングしているみたいですが、
C++ソースのコンパイル&リンクはできないのでしょうか?
>775
自分はC使ってるので確認してないが、このスレを読む限り出来るらしい。
778 :
名無しさん@お腹いっぱい。:2005/06/11(土) 07:57:13 ID:m8729bbV
C++はCと違ってコンパイラに統一性がないから問題が出る可能性もある。
Cの方が無難。
>>775 最終的にPSPCPUが実行できる形になっていれば、言語は問われない
LISPだろうが、FORTRANだろうがパスカルだろうが、関係なし
極端な話、コンパイラがなくても、バイナリエディタ等でも実行コードは作成できる
あとは、実力と根性
780 :
名無しさん@お腹いっぱい。:2005/06/11(土) 10:48:16 ID:t2sIqeLm
nemサンとこ、どうしちゃったんだろ。
781 :
名無しさん@お腹いっぱい。:2005/06/11(土) 11:07:52 ID:U7OnCStT
SONYに消された!?
PSPのソフトがランキング入りしないのを
自作ゲーのせいだと思っているSONY?
売れないのはファミコンやゲームボーイのソフトより
魅力あるゲームをだせないからサ!
782 :
名無しさん@お腹いっぱい。:2005/06/11(土) 11:17:27 ID:U7OnCStT
ところで
ttp://www.oopo.net/consoledev/ ここのpsptoolchainってどうなの?
Cygwinでbinutilsをコンパイルしようとすると
メモリを400MB以上喰ったあげくにリソースが足りません
とかいってエラーになるけど。
無理やり通してもやっぱりlibstdc++はつかえないっぽい。
だれかうまいことできた剛腕はいるのかね?
CWの中にサンプルプログラムが多数含まれていますね。
>>783 スレ違い。ここで書くならCWをダウンロード可能なところに置いてくれ。
785 :
名無しさん@お腹いっぱい。:2005/06/11(土) 17:48:54 ID:U7OnCStT
たとえCW手に入れても、法的に危なすぎてプログラムの公開はしにくいな。
786 :
名無しさん@お腹いっぱい。:2005/06/11(土) 19:55:43 ID:6fsH5WXE
>>783 というか流れた時にあるスレでとっくに・・・遅いよ。
>>781 というか移植でも何でもいいから数出して欲しいんだが…
外出
算譜職人氏のHello Worldを起動する方法を詳しく解説しているサイトがあったら教えてエロイ人。
メモステに入れるだけ
793 :
弾幕薄いぞ:2005/06/12(日) 06:50:46 ID:BrgKgo3o
エミュじゃないプログラムまだぁ〜?
簡単なゲームとかでも良いからщ(゜д゜щ)カモン
よしわかった、まずお前が何か作って見せてくれたら俺も何か出そう
ごみその二でも良いか。
796 :
弾幕薄いぞ:2005/06/12(日) 12:00:06 ID:BrgKgo3o
漏れのPSPドット欠け二つあったんだけど、テストプログラム自分で
書いて少し試してみたら、白点だったドット欠けが赤になったヨ
良いんだか悪いんだが・・・
もう少し放置しとけば本当に直るのかな。
>>793 ちょっと「Hellow World」改造して「Hello Kitty」作るわ
ちょーっとまってなぁ〜
799 :
弾幕薄いぞ:2005/06/12(日) 14:01:22 ID:BrgKgo3o
>>798 キティーちゃんはちゃんと出てくるんですか?('A`)
800 :
csd:2005/06/12(日) 17:24:04 ID:ucxb1Deh
>> 745
移植しただけでリンクしていなかった為、リンク時に呼ばれるCライブラリの
関数を実装していませんでした。
すみません・・・。
対応したのでアップローダーに上げておきます。
801 :
745:2005/06/12(日) 18:47:18 ID:NvhbvcJf
>>800 無事コンパイル出来ました。ありがとうございました。
ワイヤレスLANのスイッチのON/OFF取得できました
おほっ
激しくガイシュツ
805 :
名無しさん@お腹いっぱい。:2005/06/12(日) 20:41:00 ID:hd3HPlAF
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
Dynaroxが以前から1.5ローダーを示唆してたけど
ついに出たか
なあ、ソースがブログじゃ信憑性がないと思わないか?
PSPのニックネームを取得できました
>>802>>808 ここは君の日記を書くところじゃないから。
書くならもう少し有用な情報を書いてくれ。
>>809 取得できたって情報自体は全く無用というわけじゃないと思うが、確かに
nidや関数のプロトタイプくらいは出して欲しいと思ったりするかも。
既出情報だから無用なんでは?
ワイヤレススイッチの取得は
sceWlanGetSwitchState
ニックネームは
sceUtilityGetSystemParamString
すみません。自粛します
既出かもしれないが、自分で見つけたnidのうち、使い道がありそうなのを
いくつか載せておく。使い方は試していないので不明。
sceAudio
0x086e5895,sceAudioInputBlocking
0x6d4bec68,sceAudioInput
0x87b2e651,sceAudioWaitInputEnd
0x7de61688,sceAudioInputInit
sceDisplay
0x7ed59bc4,sceDisplaySetHoldMode
0xa544c486,sceDisplaySetResumeMode
0x31c4baa8,sceDisplayGetBrightness
0x9c6eaad7,sceDisplayGetVcount
0x4d4e10ec,sceDisplayIsVblank
scePower
0xd3075926,scePowerIsLowBattery
漏れも勝手に追加
sceDisplay
0x773dd3a3,sceDisplayGetCurrentHcount
0x4cc63fdc,sceDisplaySetVblankCallback
>>816 試してみたんだが、
> 0x4cc63fdc,sceDisplaySetVblankCallback
こっちはうまくリンクされなかった。俺がなんか間違ってる?
おっかしいな〜。
Hello worldのビルド、何回やってもee-gcc.exeとhellopspしか生成してくれない(´・ω・`)ショボーン
elfファイルが出来ないよ。
>sceDisplaySetVblankCallback
涎が
>>817 スマンコ、Callbackの方は海外フォーラムで見かけた情報で確証がない
821 :
名無しさん@お腹いっぱい。:2005/06/13(月) 00:42:57 ID:1yHqIYow
>ee-gcc.exeとhellopsp
ee-gcc.exeができるってのが意味わからないが、
outだかoutpだか、拡張子のないファイルが転がってない?
それにoutpatch.exeとpatch.exeをするんだけど。
outpatchはその辺に転がってるはず。patch.exeもどっかのソースから
パクればいいけど、なければELF2PBPというものを使います(両者は同じもの)
822 :
名無しさん@お腹いっぱい。:2005/06/13(月) 00:49:39 ID:1yHqIYow
c:\ps2dev\ee\bin\ee-ld -O0 startup.o hellopsp.o pg.o -M -Ttext 8900000 -q -o out > hellopsp.map
↑このコマンドでoutができる。
outpatch
↑このコマンドでoutpができる。
patch outp "Demo"
↑このコマンドでoutpがEBOOT.PBPになる。
HelloWorldにはpatch.exeが含まれてなかったはずだから、
それだけでは、何度やってもEBOOT.PBPはできないはず。
>>821-822 C:\Documents and Settings\My Documents\hellopsp_src_R1\hellopsp_src>c:\ps2dev\gcc\ee\bin\ee-gcc -march=r4000 -g
-mgp32 -mlong32 -c hellopsp.c
5 [sig] ee-gcc 788 open_stackdumpfile: Dumping stack trace to ee-gcc.exe.s
tackdump
C:\Documents and Settings\My Documents\hellopsp_src_R1\hellopsp_src>c:\ps2dev\gcc\ee\bin\ee-gcc -march=r4000 -g
-mgp32 -mlong32 -c pg.c
5 [sig] ee-gcc 3340 open_stackdumpfile: Dumping stack trace to ee-gcc.exe.
stackdump
C:\Documents and Settings\My Documents\hellopsp_src_R1\hellopsp_src>c:\ps2dev\gcc\ee\bin\ee-gcc -march=r4000 -g
-mgp32 -c -xassembler -O -o startup.o startup.s
Assembler messages:
FATAL: Can't create startup.o: No such file or directory
C:\Documents and Settings\My Documents\hellopsp_src_R1\hellopsp_src>c:\ps2dev\gcc\ee\bin\ee-ld -O0 startup.o hel
lopsp.o pg.o -M -Ttext 8900000 -q -o out 1>hellopsp.map
/cygdrive/c/ps2dev/gcc/ee/bin/ee-ld: cannot open output file out: No such file o
r directory
C:\Documents and Settings\My Documents\hellopsp_src_R1\hellopsp_src>outpatch
file 'out' not found
C:\Documents and Settings\My Documents\hellopsp_src_R1\hellopsp_src>elf2pbp outp "HelloWorld"
Elf2Pbp v0.3 - loser 2005
error opening outp
you got outp as psp elf
mk.batを実行するとこうなる。
wikiと過去ログ全部嫁
826 :
823:2005/06/13(月) 01:44:11 ID:FMXd/vHZ
自己解決
ps2dev-toolchain-mingw32-20050504をgccに上書きしてなかった。
失礼しました。
>>825 俺が調べた範囲でよければ、こんな感じ
struct PSID {
char data[16];
char unknown[10]; // 必要かどうか不明。
// スタック領域を26バイト使ってるようなので念のため
};
int sceOpenPSIDGetOpenPSID(PSID *psid)
返値は0が成功、0以外は失敗
>>827 どうも
ちなみにdataに入る値っていくらになりますか?
ウチでは09877E39CF77(以下略)
って感じの値になるんですが
オーバークロックのまとめ
long scePowerSetClockFrequency(long,long,long);
STUB_START "scePower",0x40010000,0x20005
STUB_FUNC 0x4B7766E, scePowerSetCallback
STUB_FUNC 0x737486F2, scePowerSetClockFrequency
STUB_END
//222MHz
scePowerSetClockFrequency(222,222,111);
//266MHz
scePowerSetClockFrequency(266,266,133);
//333MHz
scePowerSetClockFrequency(333,333,166);
初期設定はscePowerSetClockFrequency(222,222,111);
プログラム終了時は念のため222に戻した方がいいみたい
詳しくは
http://game9.2ch.net/test/read.cgi/gameurawaza/1118586656/ のログを見れ
既存のtoolchainで、インラインアセンブラ等を使わずに、
直接floatやdoubleを使うことができるものはあるのでしょうか?
>>828 おれも試してみたら、
A0 C9 71 11 E0 FF B4 53 65 43 37 CC 18 63 35 F2
となったよ。意味は不明。一応返り値は0だったから、
正常に取得できてると思うけど、内容は不明。
ぁぁ alloc出来る様になってたのか・・・随分出遅れた(´д`)
一から全部書き直しだなぁ。
結局倍精度使えんのかよ?とCP0のStatusレジスタ読もうとしたら(多分例外で)落ちた
やぱしユーザーモードで動いてるのねん
Macでの開発環境はまだないのかな?
なんでMac使ってんの?
ぐぐれ
ググっても出ないよ。SEC自体ちょっと前から見れない。
環境部分に手を加えたHelloWorldはあるんだけどね。
Ya○oo → アメリカ → hellopsp_R1.zip
ぐぐれば普通にでるから
バイナリもソースも
はい!バイナリはありました!hellopsp_R1.zipに。
でも、ソースが〜
844 :
Raion:2005/06/13(月) 21:16:40 ID:rt8U8XIq
ちっこいミサイル発射したんですけど、333の弾幕が強すぎて、
次のページになっちゃいました。つT_T
>>No 220 PSP Timer2(嘘) V0.1b 投稿者 : Raion
よかったら遊んでね♪まだ未完成だけども・・・
>>842 psp-hacks.comのDownloadsにいろいろあるぞ
ありがとうございました!
>>844 乙て?す。ちゃんと頂いております...
ありがとです。
本当、nemさんとこはどうしちゃったんだろうね・・・
パズルボブルのBOOT.BINがデバッグ情報つきらしい。
メモステのファイル一覧を取得するにはにはどんなAPIを使うんですか?
>>850 参考になるソースがいっぱいあるからそれ読んだ方が早いよ。
int sceIoDopen(const char *fn);
int sceIoDread(int fd, struct dirent *de);
void sceIoDclose(int fd);
sceIoDopen
sceIoDread
sceIoDclose
被った orz
使い方は調べていないが、使えそうなやつを。
scePower
0x27f3292c,scePowerBatteryUpdateInfo
0x28e12023,scePowerGetBatteryTemp
0x862ae1a6,scePowerGetBatteryElec
0x483ce86b,scePowerGetBatteryVolt
バッテリ関連はまだいくつかありそうなんだが、なかなか見つからない。
>>851 >>852 ありがとうございまっす!
あのー参考になるソースっていうのはどこのサイトにありますか?
上記の関数でググっても関数宣言しか引っかからなくて。
あー、ほんと教えてくんですいません
>>856 まずは試してみたほうが早いと思うよ。実機でやるのが面倒
だったらPSPEで。
>>834 とりあえず、MacでもGCCとoutpatchのビルドまではできた。
ttp://www.oopo.net/consoledev/ の ps2toolchain-20050503.tgz
持ってきて、sudo ./toolchain.sh
ビルド所要時間は、DL時間を除いてMac mini 1.42G/512MB で1.5時間程。
outpatchはnemさんのHelloPSPに入ってるソースの、
includeとmain()をちょっと弄ってコンパイル。
で、問題はelf2pbpなんだなぁ。
コンパイルは通るものの、いざ実行すると「Segmentation fault」
Tiger,Pantherともにこのエラーが出てしまう。
俺の技量じゃ、ここまでが限界。
正常にファイルが生成できてるかどうかはわからんが、outpまではこれで逝ける。
Macのことは知らないけど、elf2pbpってやってることはかなり単純じゃん。
>>857 キタ━━━━(゚∀゚)━━━━!!
>選択したファイルを特定のフォルダにコピーするアプリ
これが作りたかったんです(涙)。。
ありがとうございます。
>>858 はい。友人に貸したPSPが戻り次第すぐに。
ファームウェアバージョンしないように念を押しておきました。
>>859 マッカッカ情報ありがとうございます。
杉の枯れ葉さん....ですよね
>>860 そうなのか…。
Cは勉強中だったりするが、勉強も兼ねてソース眺めてみようっと。
>>862 バレてるし…(´・ω・`)
今思い出したんだけど、toolchain.sh もちょっと書き換えないと動かないわ。
Macにはwgetがないので、## Check for wget. の箇所をコメントアウトして、
## DOWNLOAD, UNPACK 〜 のところを、curl -O (URL)というふうに
書き換えればOK。
え〜 PanyawoさんのBlg見てて気づいたんですけど、
PSPを立ち上げたときの、メニュー画面の背景ってすでに変更できる
方法があるのでしょうか?
某起動ランチャーのscreenショットを見て、背景の壁紙が変わってるのを見て・・
>>864 PBPsetting
pict1.png
算譜職人 さんどうしたんだろ?なんか嫌なことがあったのかな?
以前IrDAでキーボードを使えるようにしてた方がいましたけど
そのソース(でも?)がみつかりません。
どなたか行方してるかたいませんか?
fMSXとかのPCのエミュとかに使えると結構
楽しそうなんだけどな。
動画だけじゃなかったっけ。
上にやり方書いてるよ。
>>868 どもです。
動画だけだったんですか。orz
がんばってやってみます。
現在の時刻を取得するには?
>>870 unsigned long sceKernelLibcTime(unsigned long *);
あのーすいませんがNeocdのMake通りませんがCygwin環境じゃ無理?
なんかCygwin.dllのバージョンが古いって蹴られるんだけど
Lボタンで終了するのは不意に触ってしまう事があるんで
それの修正コードを入れたのと333Mhz試したくてMake pspしてみたんだけど
うまくいかねー
Make通った人ご教授願いまする
>>872 >Cygwin.dllのバージョンが古い
このまんまだと思うが
>>872 >Cygwin.dllのバージョンが古い
>Cygwin.dllのバージョンが古い
>Cygwin.dllのバージョンが古い
>Cygwin.dllのバージョンが古い
>Cygwin.dllのバージョンが古い
>Cygwin.dllのバージョンが古い
>Cygwin.dllのバージョンが古い
IDがDELL。ウホッ
ようやくPSPE上でJPEGローダーが完成(まだ実機では確認してないから速度は謎)
メモリ管理を独自でやってるから激しくめんどくさかった
ところでsceKernelAllocPartitionMemory ← これの使い方ってもう判明してるんだっけ?
今後の野望メモ
・展開時のみ333MHzで動作して閲覧時は低クロック動作(これはすぐ)
・MP3再生対応させて音楽聴きながらJPEG閲覧
(これは当分先そうだ、ってMP3再生ってどれぐらいCPU食うんだろう?)
・PSP向けに高速化
乙
UMDダンプの話題ps2devでは禁止・・・(´・ω・`)
UMDDUMPERの中の人がソース公開でもしてくれれば・・・
>>867 >>869 ソース公開してもいいけど、赤外線キーボードは特に標準プロトコルが
あるわけじゃないので、製品によって制御のしかたバラバラですよ(;´Д`)
(という理由もあって汎用性が無いので公開していないんです)
ちなみにIrDAに関してのメモは
>>119 >>128-129あたり。
>>877 解析スレの方に使い方を書いてる人がいたが…
試したわけじゃないので使えるかは不明
試したら普通に使えますたよ。
883 :
名無しさん@お腹いっぱい。:2005/06/14(火) 20:39:35 ID:OJ6IrXBf
LinuxにもPSPEが欲しいけど、ムリかなあ。
>883
wineで動くんじゃね?
885 :
名無しさん@お腹いっぱい。:2005/06/14(火) 21:27:48 ID:OJ6IrXBf
ちょっと見つけたバグ?報告
どこかからかりてきたソースの
size_t strlen( char *s)
{
size_t ret;
for(ret=0; s[ret]; ret++)
;
return ret;
}
Cの時にはうまく動いてましたが、C++に移行したら
s[ret]が永久にtrueになるみたいで、かえってきませんでした。
s[ret]!=0かs[ret]!=(char)0??にする必要があるみたいです。
886 :
877:2005/06/14(火) 22:15:51 ID:iisQcUMR
>>881 >>882 ありがとう。
無事にmallocとfreeがカプセル化できました。
PartitionMemoryは引数4つだったのか・・・
解析スレみないと見当もつかなかったよ
>873-874
いや説明不足だった
Cygwinは最近入れ直したから最新です
つかneocdのコンパイルに関して参考になる所があればヨロ
888 :
名無しさん@お腹いっぱい。:2005/06/15(水) 01:31:34 ID:1iLaFAJM
っう、wineをうっかりソースからコンパイルかけたら、思わぬ時間が。
まだおわらないっす。これでPSPE動かなかったらかなしい夜だ。
889 :
名無しさん@お腹いっぱい。:2005/06/15(水) 02:06:35 ID:1iLaFAJM
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x77c7c548)->(00000000,00000008)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x77c82788)->(00020022,00000008)
fixme:ddraw:DIB_DirectDrawSurface_Blt dwFlags DDBLT_WAIT and/or DDBLT_ASYNC: can't handle right now.
だそうです。ふて寝します。一瞬Windowがでるんだけどなー。
>>889 よくわからないんだけどこれってDirectXの命令だから
DirectXがwineでも使えないと無理なんじゃない?
DirectXはWidnowを作成してから初期化するから
予想通りだとWindowが出てから落ちるのは当然の流れかと..
SDL入れ換えれば動いたりしないかねえ
892 :
ひみつの文字列さん:2024/12/27(金) 12:15:54 ID:MarkedRes
日本国またはアメリカ合衆国、もしくはその両方の著作権法に触れる内容であると疑われることから表示できません。
STUB_FUNC 0x737486F2,scePowerSetClockFrequency
自己解決
括弧いらないのね(´・ω・`)ハズカシイス
>889
884ですが、俺が余計なこと言ったばっかりにスマソ・・・・
>894
それだけじゃなんの事かさっぱりなのですが。
どんな環境でどう通らないのか教えてくらはい
スマソ・・・・オソカッタ
わっふるを移植できないかなーとソースを眺めてみる
学校で習った程度なプログラミングの知識な漏れには無理そうだ・・・
>879
Gtkに依存しまくってるので相当手間がかかりそうですな。。。。
900 :
899:2005/06/15(水) 11:32:57 ID:gCLGfnxJ
>>899 PocketPC版のソースもCVSで取得できませんでしたっけ?
昔NPD-20JWLで動かす用になんか弄った記憶が・・・
>901
ほんとだ、ありがとうです。
んだばてけとーにかまい始めますわ〜。
出来上がるのいつになるのかわからんけども。
だれかAVG32のソフトクレ。
903 :
863:2005/06/15(水) 16:19:49 ID:LpEdrjER
>>894 curl -O (ftp:〜〜) ってとこ、( ) いらないわ。
wget -c を curl -O に置き換えるだけでOK。
俺の書き方が悪かった、スマンス
904 :
863:2005/06/15(水) 16:21:56 ID:LpEdrjER
って、
>>895 で自己解決してたね…
モット(´・ω・`)ハズカシイス
906 :
名無しさん@お腹いっぱい。:2005/06/16(木) 00:03:44 ID:VfDuY1Bu
意味ない報告ですが、PSPEはwineXでもNGでした。
907 :
894:2005/06/16(木) 01:33:12 ID:5jqsYZfp
curlの問題は回避したのですが、
その後のmakeでまたエラーが・・・。
ログ間違えて消しちゃったし・・・。
Macでの道のりは遠いねぇ。
そもそも、馬鹿ーはプログラミングなんて愚行しちゃいけないんじゃないの。
SMSのエミュだけXMBのゲーム選択画面で背景が出てるけどどうやってんだろ
>>909 背景ファイルをPBPに追加するだけ。
他にもBGM、ムービー、説明ウィンドウなどを入れられる。
>>910 なるほど。追加するだけでソースは弄らんでいいってことかな。
そう。アイコンと同じ扱い。
ありがとう。ファイル名はUMD吸出しスレにあったこれかな。
まぁとにかくやってみます。
ICON0.PNG
ICON1.PMF
PARAM.SFO
PIC0.PNG
PIC1.PNG
SND0.AT3
>>899 わっふるは機種依存部はきれいに分かれてるよ。
実はもうPSPで動いてたり。
できた。
PBPUnpackerとポポロクロイスのセーブデータに入ってたデータ使ってみたら背景も音も出た。
教えてくれた
>>910さんありがとう。
918 :
899:2005/06/16(木) 14:09:45 ID:c+Qliru8
>914
マジですか。
漏れはファイルI/Oでけっつまずいてましたが、
何とかエフェクト以外が動くようになってきた。
・・・・・・重たい。
Kanonカテキター
919 :
863:2005/06/16(木) 18:26:19 ID:8l3KvC5+
>>907 そのエラーってビルド終盤(開始から1時間位経過した頃)に出る
「makeのcleanなんてオプション知らねーよ」ってやつかな?
だとしたら、ee-gcc自体のビルドはきちんと行われている筈なので、
多分大丈夫。/usr/local/ps2dev/ee/bin/ にee-gccとかが入ってるかと。
ビルド序盤で出る奴(Permission deniedでディレクトリが作成できない)は
sudo ./toolchain.sh で解決。
elf2pbpは、ソフトのタイトルを埋め込む辺りでSegmentation faultを
吐いてるみたい。とりあえず、その部分をコメントアウトしてコンパイルして
EBOOT.PBPを作ってみたけど、破損データだった…(´・ω・`)
elf2pbpだけのせいじゃ無い気もしてきたorz
920 :
863:2005/06/16(木) 18:55:35 ID:8l3KvC5+
それならば、Winでelf2pbpしてみればいいじゃまいか
というわけで、Macでコンパイル→Winでelf2pbpをしてみた。
結果、動かなかったorz。今回は破損データにはならず、
起動はする(PSPロゴが出る)ものの、エラーになって動作まではしなかった。
Winでoutpatchも当ててelf2pbpするときちんと動いたので、
コンパイル自体は上手く行っている模様。
outpatchも要修正か…。
微妙に広告の裏スマソ
重たくてもいい。動くだけでもいい。
わっふるキテー!
922 :
894:2005/06/16(木) 19:31:56 ID:Wh8dHk//
>>919 おぉ〜、今のぞいてみたらバッチリ入っておりました。
ありがとうございます。お騒がせしたです。
この後はelf2pbpの問題解決でつね。
923 :
894:2005/06/16(木) 19:34:39 ID:Wh8dHk//
X 問題解決でつね。
O 問題でつね。
算譜さんとこ復活したね。
単純に鯖が落ちてただけの模様(お陰でデータが消えちゃったようだが)。
ソニーからの圧力とかそういう類いじゃないようで、安心。
>>920 エンディアンの問題じゃないか、と推測してみるテスツ
OSXで使えるかわらんけど、うぷろだ5にうぷしてみた
場所間違いだった?
elf2pbpとoutpatchね
連カキですまないが、コンパイルオプションに注意。
一緒に入ってるreadme.txtに書いておいたので読むように。
928 :
863:2005/06/16(木) 21:19:16 ID:8l3KvC5+
キタ━(゚∀゚)━!
>>925 氏ご指摘ありがとうございます
そして
>>926 氏 仕事早すぎます。と、ありがとうございます。
main.cppの143行にエラーが出ましたので、修正(Pmfg→Pmf)しました。
で、結果は見事に動きました!
マジでサンクスです。
エンディアンがこういう所で問題になるとは……勉強になりました。
これ、転載してもいいんでしょうか?
929 :
926:2005/06/16(木) 21:27:20 ID:RpQHWv4U
エラーに気づいてさっきうぷしなおしました。
今、Macが手元になかったので、ちゃんと動くかわからなかったけど動いてよかた。
Macでプログラム作ってると、エンディアンのことは考えなきゃいけないので。
転載は問題ないかと。 元のソースに従ってください。
930 :
863:2005/06/16(木) 21:35:19 ID:8l3KvC5+
>>927 >>929 コンパイルオプション、あんまり関係ないかも?
付けても付けなくてもPSPで起動しました。
転載の件、了解です。
うーん、ここは平和でいいねえ
スレタイにエミュが入ってないからね
933 :
894:2005/06/16(木) 22:10:19 ID:Wh8dHk//
>>926氏
アップありがとうございます。
ありがたくダウンさせていただきました。
こちらでも無事に起動させることができました。
934 :
894:2005/06/16(木) 22:16:07 ID:Wh8dHk//
outpatchのコンパイルの時にエラーが出てしまってたので
ヘッダーに
#include <stdlib.h>
#include <string.h>
を足して、
int main(int argc, _TCHAR* argv[])
を
int main(int argc, char* argv[])
に変えてみたらバッチリ通りました。
簡単ですが報告です。
935 :
926:2005/06/16(木) 22:26:59 ID:RpQHWv4U
>>934 あー、ヘッダファイル足りなかったのか。
Win機で作ったものだから、確認してなくてすまない。
はやくMac復活させたい。
マカーもがんばってがんばって(・ω・)ノ
マカーってだけで無駄な努力が必要になる。
938 :
863:2005/06/16(木) 23:58:26 ID:8l3KvC5+
>>937 それも一興。あーでもないこーでもないと試行錯誤しつつ、環境構築
するのも面白いものです。
まぁ、今回のに関してはMacというよりも殆どUNIXだったけど…。
virtual pc使えよ
float から int へのキャストってどうやるんでしょうか?
float a;
int b;
b = (int)a;
とかやると、こんな感じでアセンブラがエラーになってしまいます。
>> ccLCtNNe.s:3459: Error: opcode not supported on this processor: r4000 (mips3) `c.le.s $f4,$f0'
941 :
名無しさん@お腹いっぱい。:2005/06/17(金) 01:06:18 ID:ozOdRbzi
sceDisplayWaitVblankStart
は一体なにをWaitしているの?
返ってきたりこなかったり、一度フリーズしたプログラムを
そのままもう一度PSPメニューから起動しても真っ黒画面のまま。
お手上げだ。せめて同じ挙動をして欲しい。
>>940 コンパイラのせい。
psp-toolchainに取り替えれば動くはず
>>941 VblankがStartするのをWaitしてるだけだけど。
ちゃんと同じ挙動をするし、しないのなら他に原因があるはず。
うーむ psptoolchain試みてるんだが
以下のエラーがでてとまってしまう。
>> make[2]: psp-ar: Command not found
psp-ar は c:/pspdev/psp/bin ってとこにはできてるみたいで、
さらにc:/pspdev/psp/bin に PATHも通ってるみたいなんだけど
なにが原因かご存知の方がいたらお願いします。
>>945 toolchain.sh使ってtoolchain入れたらどうだろう。
>>946 945は Cygwin の bash 上から toolchain.sh を動かした結果っす。
あと一歩っぽいんだけどなあ。
>947
Cygwinはパス通っててもbashが見に行かない事があるけど。。。。
あと、漏れがtoolchain入れた時は、
/usr/local/ps2dev
に入ったけども、展開先変えた?
>>945 psp-ar.exeが置いてあるディレクトリにPATH通ってないだけじゃん。
環境変数を弄ればいい。
>>948 /usr/local/pspdev のままにしたらうまくいきました。
ありがとう。
>>949 一応bash上から psp-ar って打ち込むと起動はできてたっす。
やっぱ UNIX系は難しい...
romファイルとはなんですか?
>951
甘酸っぱい青春が詰まっている物です。
それ以上はちょっと・・・・・。
エミュするには必要なんでしょうか?