ゲームボーイ アドバンスで遊ぶ

今更ながら、ゲームボーイアドバンスで遊んでみた。

だいぶ前に、Linuxから目覚めるぼくらのゲームボーイ!という本を買って、積んだままになっていたのを思い出したので、今更ながら遊んでみた。


Linuxから目覚めるぼくらのゲームボーイ! 西田 亙 (著)

この本には、開発環境の整った、LinuxのブートCD-ROMが入っていて、特にインストールすることなく、このCD-ROMで起動すれば、開発環境込みのLinuxが起動し、ゲームボーイでプログラムを書くことができる。

おいらは、普段、Windowsを使っている。確かに、Linuxも使えるけど、いちいち切り替えるのが面倒くせぇ。

どーせWindowsでもGCCでやれば一緒じゃん。ケーブルのドライバさえあればなんとかなるんじゃない?

ということで、Windowsで同様の開発環境を整えてみた。と言っても、先人のWebページを参考に、そのまま作業しただけだけど。

この本に添付している「USB-ゲームボーイ接続ケーブル」の販売元のページをあさると、やっぱりWindowsに関する情報もいっぱい出ている。ということで非常に簡単に解決。

まずは、USBドライバ。http://optimize.ath.cx/bootcable/drvinst.htmlに詳しくインストールのやり方が書いてある。
要するに、

  1. http://optimiza.ath.cx/bootcable/src/driver.zip をダウンロード、展開。
  2. ケーブルをPCに接続。(GBAは接続しない。)
  3. Windowsが新しいハードウエアを見つけて、「新しいハードウエアの検出ウィザード」を起動するので、先の展開したフォルダを指定

これで、ドライバのインストールが終了。簡単なもんです。

次に、正しくドライバがインストールされているか、確認する。

  1. カセットの入っていないゲームボーイアドバンスとケーブルを接続
  2. ケーブルとPCを接続
  3. ゲームボーイのR(右手人差し指のボタン)を押しっぱなしで、起動。
  4. 「GAME BOY」 「Nintendo」の起動時のロゴがでて、ちろりん!と音が鳴っても押しっぱなし。
  5. 「JOYSTICK」と表示されたら、押しっぱなしにしていたボタンを離す。
  6. 「JOYSTICK」と表示された時点で、ヒューマンインターフェースデバイスとしてWindowsに認識される。

これで、ゲームボーイアドバンスが、ゲームコントローラ(いわゆるジョイスティック)として使用できる。コントロールパネルのゲームコントローラを見て、正しく動いているか確認できるので、これで、ゲームボーイ本体とPCが正しく通信できることがわかる。

次に、プログラムをPCからゲームボーイアドバンスに転送する練習。
CWTA」というモールス練習ソフトを試してみる。

  1. http://optimize.ath.cx/bootcable/src/phost_usb.exe をダウンロード。こいつが、転送プログラム。展開しておく。
  2. http://homepage1.nifty.com/jr4qpv/CWTA111.zip をダウンロード。こいつが実際にゲームボーイ上で動かすソフト。展開しておく。
  3. カセットの外したゲームボーイとケーブルを接続。
  4. ケーブルとPCを接続。(先ほどつないでいるなら、一旦はずして、つなぎなおした方が無難。)
  5. ゲームボーイを起動。「GAME BOY」のロゴの後、画面がクリアして止まる。(ケーブルが繋がってないときは、画面はクリアしない)
  6. 先ほどダウンロードした、phost_usb.exeを起動。
  7. 「ファイルを開く」ダイアログが出るので、CWTA111.zipの中に入っていた、cwta.binを選択。
  8. PCの画面で、一瞬「LOADING」と表示された後、「HOSTING」と表示されれば転送終了。
  9. 既に、ゲームボーイの画面ではなにやら文字が表示されているはず。
  10. ケーブルを外す。
  11. ゲームボーイの「START」ボタンを押せば、モールスの音とともに文字が表示されてくる。

カートリッジが無くてもプログラムが動くことに感動できる。
モールス練習ソフトの使い方は、Yoko’s Library「CWTA」 GAMEBOY ADVANCE用モールス練習ソフト に詳しく出ている。

これで、作ったソフトをゲームボーイで動作確認できるというわけだ。

最後に開発環境の整備。

というか、Yoko’s LibraryGBAソフト開発の第一歩の記事をそのままやればOK。このページではDevkitAdvというgccを利用した開発環境を使用している。

  1. ここから、
    • agb-win-binutils-r5-beta-3.zip
    • agb-win-core-r5-beta-3.zip
    • agb-win-gcc-r5-beta-3.zip
    • agb-win-insight-r5-beta-3.zip
    • agb-win-libstdcpp-r5-beta-3.zip
    • agb-win-newlib-r5-beta-3.zip

    をダウンロードして展開。

  2. 展開すると、ルートがdevkitadv-r5-beta-3というフォルダになるので、ひとつにまとめる。
  3. Cドライブのルートに移動。すなわち、C:devkitadv-r5-beta-3に移動する。
  4. C:devkitadv-r5-beta-3DevKit-Advance-R5-Beta-3.lnk をダブルクリック
  5. これが開発環境のDOS窓。ここから、gccを
    • gcc -Wall -o hoge.out hoge.c
    • objcopy – O binary hoge.out hoge.bin

    とやればよし。最初のgccがコンパイルとリンク。objcopyは出来上がった出力ファイルから余分な情報を削除する。

  6. できあがった、hoge.binを先ほどのphost_usb.exeでゲームボーイに転送すれば、プログラムが起動する。

簡単なもんです。
これで、開発環境が整いました。

先のLinuxから目覚めるぼくらのゲームボーイ! で紹介されているプログラムもちゃんとコンパイル、実行できます。本では、ARM用の環境とI386用の環境がちゃんぽんで構築されているので、ARM用のコマンドには-armとついていますが、今回作成した環境は、ARM専用なので、-armなしでやります。

当然、Makefileのあるものは、Makefileを変更しないとだめですし、本書の中では、awkやら、その他のツールを使っているものもあるので、それらは各自用意する必要があります。そうゆう意味では、上の環境で、そのまま実際に動かせるのは第1章までですけどね。それでも、環境を整えていけば、すべてWindows上でも動作確認ができると思います。

なにはともあれ、Windowsでコンパイルできるのは楽しいです。

また、本書では、すべての環境を自力で作ることを目的としていますが、今回整えた環境は既に、いくつかの標準ライブラリが用意されているようです。

「ゲームボーイ アドバンスで遊ぶ」への1件のフィードバック

  1. Devkitadv開発環境ですが
    まとめるにはCドライブ画面を開きっぱなしのまま
    それぞれのZIPファイル(チャックのついているもの)の中の
    フォルダーをドラッグ&ドロップでCドライブに放り込みます。2回目以降から「同じファイル名です。」と出ますが、「はい」を押すと、統合を自動的に行ってくれます。
    なんだかんだポイポイ放り込むと、それらしい画面が出来上がります。青いゲーム機のアイコンに「ショートカット」という名前がついていれば、開発画面の起動が出ます
    ブログ作成者様と同じ事を言っています
    私が初心者なのだけなのかもしれませんが
    「同じファイル名です。上書きしますか?」のメッセージが出てとても混乱したので、書き込ませていただきました。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください