開発に必要なもの。


本当ならもっと前に、こういった基本事項を抑えておいて然るべきなのに迂闊にも事欠いておりました。
あまりにも当たり前の内容ですので「そんなん知ってるよ」って人は読み飛ばしてもらってください。


1. 開発に必要なもの


NDS Homebrew 開発を始めるにあたり、
最低限必要な機材や知識というものがいくつかあります。
近年の情勢によりマジコンだけは入手難ですが、
それ以外は大体どれも入手や学習が容易に行えるものばかりですので、
もしまだ足りてないものがあれば今のうちに揃えてしまいましょう。


1.1. パソコン


言うまでもないですがこれが無くては始まりません(図 1.1)。
プログラムを書いたり NDS ファイルを生成するのに必要です。


スペックに関しては NDS エミュレータが快適に動作する程度はあった方が良いでしょう。
これは作ったプログラムをエミュレータデバッグする際、ストレスなく作業を行うためです。
現在も開発の進められてる各種 NDS エミュレータの要求するスペックとしては
概ね 2GHz 以上のクロックで動作する CPU と 512MB 以上のメモリ領域が最低ラインのようです。


PC スキルはごく一般的な PC 操作が出来れば問題ありません。


図 1.1 一般的な Windows OS を搭載した PC


1.2. ニンテンドーDS


作成したプログラムを実機で動作確認するのに使います。
今までに幾度かのモデルチェンジを経て、現在延べ 4 つのモデルが存在します。
取り分け開発を目的とした場合、比較的新しい DSiDSiLL は選択肢から外して、
更に前のモデルである初代 DS か DS Lite を選ぶのが無難でしょう。
というのも、 DSi 以降のモデルでは本体のファーム更新による
マジコン対策が行われるため、そもそも利用を前提とする Homebrew 開発では
開発以外での煩わしさが発生するかもしれないからです。
純粋に開発だけ専念したいなら古めのマジコンも動作する
初代 DS または DS Lite をお勧めします(図 1.2)。


図 1.2 ニンテンドーDS (図はニンテンドーDS Lite のもの)


1.3. マジコン


世間的にはネット等から不正入手したゲームを動かすためのツールと認知されてますが
NDS Homebrew には欠かせないデバイスです(図 1.3)。
昨今違法目的な利用者が後を絶たない為、今年12月1日行われる法改正により開発、販売等が違法扱いとなります。
11月現在、未だあるところにはあったりしますが、国内での入手は今後更に困難になるかと思われます。


図 1.3 マジコン (図は R4 Revolution for DS のもの)


どうしてもマジコンが入手出来ない場合の対策としては、
サイバーガジェット製改造ツールである CYBER コードフリーク Type II あるいは Type III の利用が挙げられます(図 1.4)。
上記改造ツールは、本来のゲーム改造機能の他に、自作ソフトを動作させる機能が備わってるので
Homebrew 開発における代替機とすることが可能です。
但し、市販タイトルのバックアップは動作しません。


図 1.4 CYBER コードフリーク (図は同 Type III DS 用のもの)


1.4. メモリーカードメモリーカードリーダ / ライタ


現在世に出回ってるマジコンの大半は NDS プログラムの外部記憶に MicroSD を採用してますが
過去にはコンパクトフラッシュ等を使ったものもありました。
利用するマジコンに合ったメモリーカードと、メモリーカードリーダ / ライタを用意しましょう(図 1.5)。


図 1.5 メモリーカードリーダ / ライタ


1.5. C 言語知識


入門書の内容や文法は大体理解したというくらいの知識は必要です。
未修得の方は入門書と併せて理解を深めてくと良いでしょう。


因みに自分は「Cの絵本」という書籍を足掛かりに覚えました(図 1.6)。
C 言語全体の 3 分の 2 をバッサリとカットした何とも大胆な入門書です。
この本だけで全ては学べないので後々副読本を買い足してくことなりますが
要点を絞った解説と論理的な部分を上手く図で説明していて、
取っ掛かりの本としては個人的にお勧めです。


図 1.6 C 言語入門書 (図は Cの絵本。アンク(著))


1.6. その他


英語読解力や ARM7 / ARM9 アセンブラC++ 言語、
gcc コンパイラMakefileUnix コマンドあるいはコマンドプロンプトの知識等々。
あるとより快適になる事柄は多々ありますが最初はいらないです。
必要に迫られた時に初めて覚えれば事足ります。