libnds cvs版
libfatをコンパイルするついでに、libndsを更新したところ、
IPCでワーニングがぽろぽろ出る様に。<deplicated>だって?、使っちゃダメってか?
arm7でタッチパネルのデータセットできないと思うんだけどなぁ。
ライブラリでそこまでやってくれるようになるのかなぁ。
libfatライブラリにR4のドライバ追加
お、新しいideas dldiの起動が早くなったっぽいですねぇ。
てなことで、libfatを更新したついでに、R4のドライバをライブラリに組み込んでみた。ideasでテストするのにいちいちdldiパッチ当てるの面倒ですからねぇ。
makefileにdldiパッチまで書けばいいじゃんて思われた方には必要ありません。
用意するもの
- ndsがコンパイルできる環境(省略)
- libfatのソース(sorceforge)
- R4のdldiソース(dldi wiki R4)を適当に修正したファイル(libfat-R4V2.zip(388))
前にも書いてますが、最新のlibfat(20080530)はlibnds(20071023)ではコンパイルできないと思われます。多分、起動時引数(argc,argv)対応の為でしょう。 最新のlibfatを使うのであれば、libndsをcvsから落としてコンパイルするか、libfatのargvあたりをコメントアウトすればコンパイルできるかもしれません。
libfat作成
libfatを適当なフォルダに解凍する。
source/disc_ioフォルダにlibfat-R4V2.zipを解凍してコピーします。(io_r4tf.cとio_r4tf.h)
libfat-R4V2.zipのソースは最新のlibfat用なので、libfatのソースが最新でない場合(disc_ioフォルダにdisc_io.hがある)
は、io_r4tf.hのincludeを修正します。
#include "../disc.h" ↓ #include "disc_io.h"
R4のドライバを組み込む為、disc.cに追加します。
#include "io_m3sd.h" #include "io_r4tf.h" //←追加 const IO_INTERFACE* ioInterfaces[] = { &_io_dldi, // Reserved for new interfaces #ifdef NDS // Place Slot 1 (DS Card) interfaces here &_io_njsd, &_io_nmmc, &_io_r4tf, // ← &_io_r4tf を追加。 #endif // Place Slot 2 (GBA Cart) interfaces here &_io_mpcf, &_io_m3cf, &_io_sccf, &_io_scsd, &_io_m3sd };
libfatをmakeします。
make nds-release (最新) make release (古いバージョン)
nds/includeとnds/libにあるファイルを現在使用しているlibfatのライブラリに置き換えます。
適当なプログラムをコンパイルして、ideasで起動してみる。