[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
せっかくPSPSDKを導入してみたのでなにかしないとと思って
簡単なのからコンパイルしようと思ったのですが
意外と2005年前半のにはSDKが使われてなくて
startup.s なんてのがソースにはいってるとこれは使えません。
(nem氏の作ったコードを利用している物らしいです)
んで探したところ
bricklife.weblog.* さんの所にありました。hellopsp_pspsdk.tgzを
入れてみましょう。
cygwinを立ち上げて testフォルダ内にいれたら make!
ずらずらっと$ make
psp-gcc -I. -I/usr/local/pspdev/psp/sdk/include -G0 -Wall -c -o main.o main.c
main.c: In function 'main':
main.c:55: warning: passing argument 2 of 'pspAudioSetChannelCallback' from inco
mpatible pointer type
psp-gcc -I. -I/usr/local/pspdev/psp/sdk/include -G0 -Wall -L. -L/usr/local/pspd
ev/psp/sdk/lib main.o -lpspaudiolib -lpspaudio -lpspdebug -lpspdisplay -lpspge
-lpspctrl -lpspsdk -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver
-lpsputility -lpspuser -lpspkernel -o hello.elf
psp-fixup-imports hello.elf
mksfo 'Hello World!' PARAM.SFO
psp-strip hello.elf -o hello_strip.elf
pack-pbp EBOOT.PBP PARAM.SFO NULL \
NULL NULL NULL \
NULL hello_strip.elf NULL
rm -f hello_strip.elf
でけたでけた。…
main.c:55: warning: passing argument 2 of 'pspAudioSetChannelCallback' from
incompatible pointer type
暗黙の型変換で、互換性のないポインタ同士の型変換が行なわれました。
EBOOT.binはできてるし動いてますが なんかまたもやもやします。
pspAudioSetChannelCallback(0, audioCallback, NULL);
#makefile やらUnixコマンドやら勉強しろよ自分。←
関係ないですがいつのまにか、gpSP のVerがアップしてますね。
これはSDL利用してるけど最初にいれたからコンパイルできるかな。
↓
無問題。
PSPGBA等のエミュレーションの10倍(適当)ぐらい早いです。
おそろしや海外パワー。(BIOS部分もエミュレーションしたらもっとすごい)
時期にキャッシュファイルを使って16MB以上のも動くようになりそうです。
(PSPのメモリたしかフリーで20MB 切るか切らないかくらいですよね)
いまいちよく分からないがPSPでの自作環境を整えようといまさらながら
cygwin+pspsdkを入れてみた。細かいところは、ぐぐる。
あとは、PNGとかJPEGのライブラリ入れとく。
きっと ソース拾ってコンパイルするときに幸せになれるはず。
svn export svn://svn.pspdev.org/psp/trunk/zlib
して、zlibフォルダ入って、make して make install
svn export svn://svn.pspdev.org/psp/trunk/libpng
して、libpngフォルダ入って、make して make install
svn export svn://svn.pspdev.org/psp/trunk/jpeg
して、make && make install
svn export svn://svn.pspdev.org/psp/trunk/libmad
同じく make && make install
svn export svn://svn.pspdev.org/psp/trunk/freetype
↑どうにもうまく入りません。readme.psp 見たらなんか
automake 1.9.4 or higher
libtool 1.5.16 or higher (I used 1.5.6)
autoconf 2.59 or higher
このあたりの問題か? 飛ばし…。
追記)libtool 1.5.16 or higher ←これが標準でCygwinで指定されてない
ので入れたらでけた。
SDLというのもあるらしいのでそれらもsvnから拾う。
PSPアプリのページ ここのコンパイルもして見たいしね。
svn export svn://svn.pspdev.org/psp/trunk/SDL
svn export svn://svn.pspdev.org/psp/trunk/SDL_image
どうも readme.psp みて入れてるのに
このあたり最初にワーニングでる。
$ ./configure --host psp --with-sdl-prefix=$(psp-config --psp-prefix) \
> --prefix=$(psp-config --psp-prefix)
と打つと大体下のようなWARNING (まあ それでも進むんですがキモチワルイ)
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.
svn export svn://svn.pspdev.org/psp/trunk/SDL_mixer
svn export svn://svn.pspdev.org/psp/trunk/SDL_ttf
これまた先にさっき失敗したFreetypeいるくさいので失敗しますた。
追記) Freetypeも行けたのでこれもオケに。
svn export svn://svn.pspdev.org/pspware/trunk/libcurl
これはなんかreadme.psp 無視で
./configureして(理由はよく分からない…)
最後の方でエラー吐いた・・・C++うんたら
checking how to run the C++ preprocessor... /lib/cpp
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details.
パッケージが入ってないぽいな・・・CygwinのDevel以下のboost boost-devel辺りかcppunit
distcc--- ここらの入れたら行けた
make && make install
#関係ないけどMingw 回りもcygwin から全部入れとく。bzip2 zlib のデコード入ってるみたい。
#boost-devel いらんかも ドキュメントが死ぬほど入ったような
9/5追記)
libTremor
svn checkout svn://svn.pspdev.org/psp/trunk/libTremor
libogg
svn checkout svn://svn.ps2dev.org/psp/trunk/libogg
README.PSPには以下のように書いてた。
Building and Installing:
$ LDFLAGS="-L$(psp-config --pspsdk-path)/lib -lc -lpspuser" ./autogen.sh
--host psp --prefix=$(psp-config --psp-prefix)
$ make
$ make install
赤いところ autogen.sh¥(←)が入ったままコピペしたら,
psp-gcc じゃなくてgccつかってWin版が入りそうになった。
一行で続けて打ったら直った。(しょぼさMAX)
9/5追記ココまで)
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.
これのでなくなる方法分かったら教えてください(汗
Makefileの細かいところも良く分からない(ぉ