プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

devkitARMをVista上で使う

I’ve just finished uploading the files for devkitARM release 21.

Now working on Vista/Vista64 - users who were impatient and modified paths should now remove those changes

404 Not Found


おお!ついにdevkitARMがVistaに対応ですか!今までdevkitadvのためにXPのPCを残しておく必要があったんだけど、これで開発環境をVistaに移行できるかな!?


というわけで、さっそく使ってみました。結論から言うと、devkitARMを使うとVistaでコンパイルしてGBA用の実行バイナリを作ることが可能。たぶんNDSでも大丈夫でしょう。


今まではDevKit Advanceを使っていたんだけど、これを機に開発環境をdevkitProへ移行中。まだ全部終わってないけど、とりあえず使える環境になってきたので、インストールメモを書いておくことにします。


なお、devkitProの統合インストーラはまだリリースされていないようです。しばらく待つか、インストール後に個別のアップデータを使う方が簡単な感じですが、私は試していません。

インストール


まずはdevkitProのサイトからdevkitARMとmsysのアーカイブをダウンロードして解凍する。


download - devkitARM
(現時点ではdevkitARM release 21が最新版)


download - tools
(現時点ではmsys-1.0.11-RC2が最新版)


解凍するとそれぞれdevkiARMとmsysというフォルダが作られる。統合インストーラではこれらはC:\devkitPro配下にコピーされるようなので、同じような構成にする。最後に以下のフォルダへのパスをPATH変数に追加してコンパイル準備は完了。


C:\devkitPro\devkitARM\bin
C:\devkitPro\msys\bin

ポーティング


asやgccなどはarm-eabi-xxxといったプリフィックスがついているので、makefileやバッチ等の書き換えが必要。環境変数による引き継ぎを使ってもいいかもしれない。


コンパイルオプションはDevkit Advanceのものがほぼそのまま使える。GBA固有の#pragmaもOK. __endなどリンカが出力する外部変数は書き換えが必要な場合がある。あまりないと思うが、crtを自前で書いている場合などは注意。また、リンカスクリプトgba_cart.ldなどを明示的に指定する必要があるかも。

感想とか


とりあえず拙作デジタルインベーダーをコンパイルしてみたところ、無事動きました。続いてGBAファイラーをコンパイルしてみたら、大体動くんだけど、JPEGビュワーが動作せず。何かミスをしてるみたいです。もう少し調べてみます。


devkit Advanceに比べてgccのバージョンが新しいせいか、バイナリが小さくなりました。心なしか動作も速くなったような気がします。まだエミュレータでしか実行してないので、何とも言えませんが。


ちなみにInsightは動作しませんでした。起動してしばらくすると、反応がなくなってしまいます。yasuhoはあまり使っていないのですが、何らかのアップデートを待つ必要があるかもしれません。


ともあれ、Vista上でGBA開発をしたかった人には朗報と言えましょう。PCを買い替えたらコンパイラが動かなくなって悲しい思いをしていた、あなた。トライしてみる価値はありますよ。:)




参考:
GBA develop Wiki