GBA 開発部屋:環境構築


用意するもの


インストール

  1. まずはデバイスドライバのインストール。 オプティマイズの「GBAゲーム開発の部屋」
    http://optimize.ath.cx/bootcable/index.html
    に行って「ブートケーブル USB」の真ん中付近の 「コントロールソフトダウンロード」で一通りダウンロードし、 「インストール手順はこちら」 の通りにインストールする。

  2. 動作テストをしてみる。同じく「ブートケーブル USB」のページの下の方「ブートチップ機能」にある 「ユーザプログラム(GLIB)」をダウンロードする。
    GBA と PC をブートケーブルで接続する。もし GBA にカートリッジが差してある場合は抜いておく。
    GBA の電源を入れてロゴが出た後に画面が真っ白になったところで、 phost_usb.exe を実行して GLIB.bin を選ぶ。なにやら絵が出れば OK(ちなみに少し待ってると別の絵が出る)。

  3. C 開発環境(Cygwin)をインストールする。ただしすでに Cygwin をインストールしている場合は、後述の注意を読んでおくこと。
    オプティマイズのページの「開発環境の作成 Cコンパイラのインストール」 にある devkitadv.zipsetenv.bat をダウンロードする。前者を展開し、 後者を展開したパスに合わせて書き換える。この setenv.bat は DOS 窓(コマンドプロンプト)を開くたびに実行する必要があるので、 たとえば Windows2000 ならデスクトップに、
    %SystemRoot%\system32\cmd.exe /K c:\gba\setenv.bat
    といった指定で DOS 窓へのショートカットを作ると便利。
    ちなみに「DevKit Advance」
    http://devkitadv.sourceforge.net/
    の「Release 5 (Beta 3)」は、sh を起動すると gcc が見つからなくなる、という不具合があるようだ (うちだけかしら?)。

  4. C 開発環境のテスト。再びオプティマイズのページに行って 「サンプルゲームの開発」にある puzzle.zip をダウンロード&解凍し、DOS 窓で make を実行する(先に setenv.bat を実行しておくのを忘れずに)。
    できあがった puzzle.bin には絵のデータが含まれていないので、 readme.txt を読んで game.bin を作ると遊べるようになる。

注意

すでに Cygwin がインストールされていると、make depend などでエラーが出ることがある。これは Cygwin の /, /usr/bin, /usr/lib のマウントポイントがレジストリに書き込まれていて、 それを途中で自動的に参照されてしまうことがあるからだ。
とりあえず回避方法としては、バッチファイルに、
c:\cygwin\bin\mount -s -f c:\gba\devkitadv /
c:\cygwin\bin\mount -s -f c:\gba\devkitadv\bin /usr/bin
c:\cygwin\bin\mount -s -f c:\gba\devkitadv\lib /usr/lib
などと記述してマウントポイントを変更する手がある(Administrator 権限が必要かも)。 ただしこれは一時的な変更ではなくレジストリの内容が変わるので、 先にインストールされていた Cygwin 用のバッチファイルにも手を入れておく必要がある。要注意。
もちろん、同時に両方の Cygwin を使うのはやめておいた方がいいだろう。

Flash カートリッジの実験

僕が買った Flash2Advance(64M)には、64Mbit(8MB)の Flash 領域が 1 つと、512Kbit(64KB)のバックアップ SRAM 領域が 4 つあるようだ。 これらはオプティマイズのページにある devman_usb.exe で管理できる。

バックアップ SRAM の動作テスト

ゲームカートリッジでも SRAM があればできる。 当然セーブデータが消えるのと、うっかり普通に起動してしまうと SRAM を(データが壊れていると見なして) 初期化してしまうかもしれないことに注意。
  1. インストール時のテストに使った puzzle.zipgame.bin を再び用意する(GLIB.bin でもいい)。

  2. Flash2Advance を GBA に差し、GBA と PC をブートケーブルで接続し、 SELECT+START を押しながら GBA を起動する。これで PC からの通信待ち状態になる。

  3. devman_usb.exe を実行し、「SRAM 512K (1)」のところの 「書き込み」を押して、先ほどの game.bin を指定する。 これで SRAM に書き込まれる。

  4. devman_usb.exe を終了し、GBA の電源を切る。 そして SELECT+START+L を押しながら電源を入れ、そのまましばらく待つ(L はだいぶ後から押してもいい)。画面の真ん中に小さく「BootChip」と出た後、 プログラムが実行されれば成功。

Flash の動作テスト

  1. オプティマイズのページの「GUIカセット管理ツール(devman)」で preboot32.zip をダウンロードして gbaldr32.bin を解凍する。これを使うと複数のプログラムを格納できる。
    ちなみに元は「GBAEmu」
    http://www.gbaemu.com/
    にあったものらしいが...どこだ?

  2. インストール時のテストに使った puzzle.zipMakefile 中の「-Ttext 0x02000000」を 「-Ttext 0x08000000」に書き換えて make する。 これで Flash から起動できるようになる。
    インストール時のテスト同様、絵のデータを結合して game.bin を作っておく。

  3. Flash2Advance を GBA に差し、GBA と PC をブートケーブルで接続し、 SELECT+START を押しながら GBA を起動する。これで PC からの通信待ち状態になる。

  4. devman_usb.exe を実行し、「マルチROM」にチェックを入れ、 「ローダープログラム」に先ほどの gbaldr32.bin を指定する。
    そして「FLASH 64M」(容量は違うかも)の右端の「消去」を押すと、Flash を全消去した後に gbaldr32.bin が書き込まれる。
    続いて真ん中(上側)の「書き込み」を押して、先ほどの game.bin を指定すると、1 本目のプログラムとして書き込まれる。
    以後この「書き込み」を使うことによって、プログラムを追加できる。

  5. devman_usb.exe を終了し、GBA の電源を入れ直すと、 ローダーのプログラム選択画面が出る。A ボタンで実行されれば成功。
    ちなみに B ボタンを押すと「Saver[1]」と出るが、これなに?(^^;

おまけ


戻る