WFS Demos

# ワイヤレスファイルシステムライブラリ(WFS)サンプルデモ

## コンパイル方法

各サンプルデモが収録されているディレクトリに移り、

> `% make`

と入力します。コンパイルが始まり、実行ファイルである `.srl` ファイルやバイナリ情報を記述した `.nef` または `.tef` ファイルが、

> `$TwlSDK/(サンプルデモのディレクトリ)/bin/(プラットフォーム)/(ターゲット)/`

の下に生成されます。例えば、

> `$TwlSDK/build/demos/mb/multiboot-wfs/bin/ARM9-TS/Release/main.srl`

が `multiboot-wfs` デモの実行ファイルとなります。

## 実行方法

### NITRO ROM の場合

IS-NITRO-DEBUGGER を用いる場合

- IS-NITRO-DEBUGGER で `*.nlf` ファイルを読みこんで実行する。
- IS-NITRO-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.exe` で IS-NITRO-DEBUGGER で `*.srl` を実行する。

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.nlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

### TWL/NITRO HYBRID ROM の場合

IS-NITRO-DEBUGGER を用いる場合

- IS-NITRO-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.exe` で IS-NITRO-DEBUGGER で `*.srl` を実行する。

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.tlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

### TWL LIMITED ROM の場合

IS-TWL-DEBUGGER を用いる場合

- IS-TWL-DEBUGGER で `*.tlf` ファイルを読みこんで実行する。
- IS-TWL-DEBUGGER で `*.srl` を実行する。
- コマンドラインから `loadrun.TWL.exe` で IS-TWL-DEBUGGER で `*.srl` を実行する。

WFSライブラリの多くのサンプルデモはDSダウンロードプレイを使うため、 同じ通信環境(無線あるいは有線)どうしの開発機材を複数必要とします。
`$TwlSDK/bin/ARM9-TS/Rom/mb_child_NITRO.srl, mb_child_TWL.srl`はニンテンドーDS本体のDSダウンロードプレイプログラムと同等の機能を提供するサンプルになっていますので、 このプログラムを他の機材に読み込み、一緒に実行してください。
また、 IS-NITRO-DEBUGGER のオプション設定によってはこのプログラムを読み込んだ時に
「ARM9プロセッサ側の転送先アドレスが異常です」
という内容のダイアログが表示されますが、「いいえ」を選択して読み込んでください。

## 説明

デモ名 | ディレクトリ | 動作
--- | --- | ---
`$TwlSDK/build/demos/wireless_shared/wfs` | `demos` | WFSライブラリをMP通信にフックさせるための簡単な手順を示したサンプルコードです。 後述するいくつかのサンプルデモはこのコードを共通処理として参照しています。
`$TwlSDK/build/demos/mb/multiboot-wfs` | `demos` | MBライブラリを使用してニンテンドーDS本体へプログラムをダウンロードし、 さらにそのプログラムと再接続して子機プログラムへワイヤレスファイルシステムを提供するサンプルです。 $TwlSDK/build/demos/wireless_shared/wcのサンプルコードをMP通信のフレームワークとして使用しています。 $TwlSDK/build/demos/wireless_shared/wfsのサンプルコードをMP通信フック処理に使用しています。
`$TwlSDK/build/demos/wm/wireless-all` | `demos` | DSワイヤレスプレイの総合的なサンプルです。 MBライブラリのクローンブート機能でDSダウンロードプレイを行い、 配信した子機プログラムと再接続してデータシェアリング通信を行いつつワイヤレスファイルシステムを提供します。 $TwlSDK/build/demos/wireless_shared/whのサンプルコードをMP通信のフレームワークとして使用しています。 $TwlSDK/build/demos/wireless_shared/wfsのサンプルコードをMP通信フック処理に使用しています。

## 動作

`WFS ライブラリのデモは、ensata では正常動作しません。`

`wireless-all は NTR モードでしか動作しません。`

## 参照

`WFS関数一覧`

## 履歴

2008/07/11 TWLに対応した記述に変更
2007/06/15 初版