にゃごすwiki

DS開発/2008-7-2

 libnds cvs版

libfatをコンパイルするついでに、libndsを更新したところ、
IPCでワーニングがぽろぽろ出る様に。<deplicated>だって?、使っちゃダメってか?
arm7でタッチパネルのデータセットできないと思うんだけどなぁ。
ライブラリでそこまでやってくれるようになるのかなぁ。

  libfatライブラリにR4のドライバ追加

お、新しいideas dldiの起動が早くなったっぽいですねぇ。
てなことで、libfatを更新したついでに、R4のドライバをライブラリに組み込んでみた。ideasでテストするのにいちいちdldiパッチ当てるの面倒ですからねぇ。
makefileにdldiパッチまで書けばいいじゃんて思われた方には必要ありません。

用意するもの


前にも書いてますが、最新の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で起動してみる。