Nintendo DS(Lite)でオープンソース系ソフトウェアを使用する

 Nintendo DSは秀逸なゲーム機だが、このデバイスの能力はそれだけに限定されるものではない。ハッカー達の手にかかれば、Nintendo DSをオープンソース系ソフトウェアの実行プラットフォームとして利用するだけでなく、スリムダウン版でよければLinuxさえも動かすことが可能なのだ。ここでは、Nintendo DSをオールラウンドな携帯式コンピューティングデバイスに変貌させるために必要な、いくつかのオープンソース系アプリケーションを紹介することにしよう。

 Nintendo DSといえども所詮はゲーム用コンソールに過ぎないので、ゲーム機用自作ソフトその他のアプリケーションを実行させるにはストレージ機能の追加が必要であり、そのための拡張カードを事前に購入しておかなければならない。この種の製品は多数存在しているが、有名どころとしては下記の選択肢を挙げることができる。

  • R4 Revolution for DS――最大4GBのMicroSDカードを使用可能にする他、DSスリープモード、FAT16/32ファイルシステム、DSタッチパネルをサポートしている。この場合で特に重要なのはアプリケーション側からストレージカードへのデータ書き込みに必要なDLDI(Dynamically Linked Device Interface)オートパッチ機能をサポートしていることである
  • M3 CS Simply――MicroSDカードを使用可能にする他、アップグレード対応ファームウェアを装備し、Nintendo DS固有の全機能をサポートしている
  • Cyclo DS Evolution――MicroSDカードを使用可能にする他、FAT16/32ファイルシステムをサポートし、DLDIオートパッチ機能およびMoonshellメディアプレーヤを装備する
  • DS-Xtreme――ストレージをオンボード搭載(512MBおよび2GB版のカードが利用可能)。DS-XtremeにはMP3プレーヤおよびアプリケーションランチャがビルトイン形式で装備されている。またDS-XtremeにはUSBポートが組み込まれているので、標準ミニUSBケーブルを介して一般のコンピュータに接続できる

 このうちどれを使用すべきかは、各自の用途、好み、予算に応じて変わってくる。実際にはネット上で適当なレビュー記事を検索して、自分にとって最適と思われる製品を選べばいいだろう。私の場合はDS-XtremeカードをNintendo DS Liteに取り付けてみたが、非常に満足行く結果が得られている。その他のカードを選択しても、基本機能は同じはずだ。

 これから行う作業で事前に必要な準備だが、具体的には.ndsファイル群をカードにコピーしておくことだけである。ただし場合によっては、この操作を行う前にDLDIパッチをndsファイル群に適用しておく必要がある。これによりアプリケーション側からカードにデータを書き出すことが可能となるが、アプリケーション設定などを保存させたい場合はこの機能が必須となるはずだ。

 この種のトピックについてはGBAtemp Webサイトにある初心者用解説が上手くまとめられており、各自のケースにおいてDLDIパッチを適用する必要があるかどうかや、どのアプリケーションにパッチを適用すべきかの参考となるだろう。またDLDI Linux GUIというLinux用グラフィカル系パッチャーを使用すると、パッチの適用プロセスを大幅に簡単化できる。

実用的なツール群を一括で提供するDSOrganize

 DSOrganizeとは、制作者本人の説明を借りれば「Nintendo DS用に自作されたオーガナイザアプリケーションで、本来最初から組み込まれていて然るべきもの」という存在であり、実際その通りの機能を秘めている。ただしDSOrganizeを“オーガナイザ”と呼ぶのは誤解を招きかねない表現であり、Calendar、Day Planner、Address Book、Todo List、Scribble Pad、File Browser、Calculator、IRC Client、Web Browserという実用的な9つのツールで構成されたその実態に即せば、むしろアプリケーションスイートと言うべきものだろう。つまりDSOrganizeをインストールすることで、基本的にゲームコンソールであるNintendo DSが、このサイズのポケットコンピュータに早変わりするのである。

 例えばDSOrganizeにはスケジュール用アプリケーションとして、Calendar、Daily Planner、Todo Listという3つのツールが組み込まれている。しかもこれらのユーティリティは相互に連係して機能するのだ。具体例としてCalendarを取り上げてみよう。これは単なるカレンダだけではなく、月間カレンダを表示させるエントリポイントであると同時にリマインダのクイック作成画面も兼ねている。

 そしてView Dayボタンをクリックすると起動するのがDaily Plannerモジュールであり、ここでは各自の予定やイベントを登録することができる。同様にTodo Listツールを使用すると、各自のタスク管理が行える。DSOrganizeでは、これら3つのモジュールで入力されたデータをNintendo DSの上部画面に統合表示するようになっており、具体的には本日分のリマインダ、予定、タスクがStartウィンドウ上に一括表示される。この方式は、簡潔かつエレガントなソリューションと評していいだろう。

 DSOrganizeでのデータ入力は基本的に仮想キーボードを用いることが想定されているが、ウィンドウやアプリケーションの切り替えなどの処理はNintendo DSのボタンを積極的に利用するようにもなっている。またボタン操作の大半はハードウェア的な割り当ても行われており、例えばBボタンを押せばDaily Plannerへの切り換え、Aボタンを押せばリマインダの編集、Homeボタンを押せば常にStart画面に復帰するといった具合である。その他DSOrganizeに関しては、カラー表示を巧みに使ってデータ表示の視認性を高めている点も評価すべきだろう。例えばCalendar上の表示は、リマインダの設定された日付はオレンジで示され、イベントの設定された日付は下線付きのパープル表示といった配色になっている。

 とは言うものの、さすがにカレンダに住所録データを連携させるような機能までは装備されていないが、必要であればDSOrganizeからこれらのデータをユーザが抽出することも簡単に行える。アポイントメント、予定、タスク、リマインダとしてアプリケーションに登録した情報はプレインテキストファイルとして記録されているので、通常のテキストエディタで表示させればいいのだ。特にAddress Bookに関しては、この種の操作が最初から考慮されている。DSOrganizeではこれらのデータを標準的なvCardファイルで格納するので、vCard互換アプリケーションであれば簡単にインポートできるのである。ただ1つ苦言を呈すとすれば、カット&ペースト機能が付けられていないためテキスト情報の編集がやりにくい点を指摘しなければならないだろう。

 DSOrganizeで次に注目すべきモジュールは、File Browserである。これはその名が示す通り、ストレージカード上でのファイル管理やディレクトリのブラウジングをするためのツールである。しかも、File Browserがサポートするファイルフォーマットは非常に多岐にわたっており、メディアプレーヤ、画像ビュワ、テキストエディタその他に対応した事実上のマルチブラウザになっている。例えばミュージックフォーマットだけでも、WAV、MP3、Ogg、FLAC、ACCをサポートしているだけでなく、PLSおよびM3Uのプレイリストも扱うことができるのだ。

 このブラウザはMP3とOggストリームにも対応しているので、理屈上はNintendo DS上でインターネットラジオの再生もできるはずだが、実際にはストリームデータのバッファリングに時間がかかりすぎるため、残念ながら実用に供するのには無理がある。その一方でFile Browserは一般的なグラフィックフォーマットである、GIF、Bitmap、JPEG、PNGをサポートしているので、簡易画像ビューワとして利用することもできる。またブラウザ上でのテキストファイル作成は行えないが、既存ファイルを編集することは可能であり(目的のテキストファイルを選択してYボタンを押す)、この種のデータに関しても簡易テキストエディタとしての利用が可能だ。

 DSOrganizeのその他のモジュールも、操作性と機能性を兼ね備えたものに仕上げられている。例えばScribble Padは、かなり遣い手のあるドローイングアプリケーションであり、コンピューティング作業中に簡単なメモを取ったり、退屈な会議を聞かされている間のイタズラ書きをするのに使えるだろう。IRCモジュールも実用的なIRCクライアントに仕上がっており、Web Browserを使えばWebページの簡易チェックも行える。ただし後者のモジュールはテキストベースのブラウザなので、日常的なWebサーフィンには適しておらず、あくまで緊急時の代替ツールとして使用すべきものである。なおこれら2つのアプリケーションを動作させるには、Nintendo DS用のWi-Fi系ゲームかOperaブラウザを使用して、事前にワイヤレス接続を設定しておかなければならない。

Linuxおよびオープンソース系ゲーム

 Linuxはあらゆるプラットフォームの対応バージョンが作られており、そのものズバリのDSLinuxという名称でNintendo DS版のLinuxが作成されているのも、ことさら驚くべき話ではないのかもしれない。DSLinuxのインストール、設定、使用法に関しては、DSLinux Wikiに詳しい説明が掲載されている。当然ながらこのDSLinuxはグラフィカル系デスクトップで運用するようには作られていないが、用途によってはかなり効果的な使い方ができるはずだ。例えばDSLinuxではNintendo DSのWi-Fi機能がサポートされており、同梱されているviエディタを介してWi-Fi用設定ファイルを編集できるようになっている。その他にもDSLinuxには、retawqというテキストベースWebブラウザやtinyircという簡易型IRCクライアントがパッケージされており、またテトリスや数独といったゲーム系ソフトもいくつかバンドルされている(DSLinuxのバンドルソフトウェアの一覧はこちらで確認できる)。

DS1.png
WordUp

 DSLinuxには食指が動かないという場合は、オープンソース系ゲームはどうだろうか? この種のNintendo DS用ゲームとしては、WordUp、Lemmings DSExplosion of an Aeroplaneなどの優れた作品が公開されている。

 Nintendo DS用のオープンソース系アプリケーションという記事において、忘れてはいけないソフトがいくつか存在している。その1つが、Nintendo DS用オープンソース系アプリケーションで最も広範に使用されているMoonshellメディアプレーヤである。この自作ソフトでは、オーディオ/ビデオ系の一般的なフォーマットはすべてサポートされており、扱いやすいビデオエンコーダも付属している(残念ながらWindowsベースである)。またDSVNCというVNCクライアントを使用すると、Nintendo DSを介してリモートマシンの制御ができるようになる。

まとめ

 純然たるゲーム機であるNintendo DSであっても、こうしたオープンソース系アプリケーションをいくつかインストールすることで、実用性の高いコンピューティングデバイスに変貌することができる。自分のこなしたいタスクが、スケジュール管理であれ、音楽再生であれ、画像表示であれ、メモ入力であれ、そうした要望をNintendo DS上でかなえてくれる存在がオープンソース系ソフトウェアとして用意されていることを忘れてはいけない。

Dmitri Popovは、フリーランスのライターとして、ロシア、イギリス、アメリカ、ドイツ、デンマークのコンピュータ雑誌に寄稿している。

Linux.com 原文