忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

hello PSP って今更…

せっかく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 切るか切らないかくらいですよね)

 

拍手[0回]

PR

PSP自作環境を整えてみる

いまいちよく分からないが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の細かいところも良く分からない(ぉ

拍手[0回]