おすすめ
BookReport

MovieReport

ShowReport

Cook

Travel

NationalPark

Cancun

Casino

Camera

WindowsLiveWriter

LegoMindStormsNXT

LegoEnzoFerrari

WSH

Resume

お願い
Cagylogicサイトの内容に、いかなる保障もいたしません。またアクセスすることによるすべての損害等の責任を負いかねます。ご意見、ご要望、ご質問、不具合(バグ)報告等はコメント欄にてお願いします。リンクはご自由にどうぞ。
月別

« (前の日) 運転時の目視確認 | メイン | ゲームボーイ アドバンスで遊ぶ(その2) (次の日) »

« 日本語版Visual Studio C# | 分野 (ソフトウエア開発) | ゲームボーイ アドバンスで遊ぶ(その2) »

2006年7月23日

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

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

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

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-3\DevKit-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でコンパイルできるのは楽しいです。

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

« (前の日) 運転時の目視確認 | メイン | ゲームボーイ アドバンスで遊ぶ(その2) (次の日) »

« 日本語版Visual Studio C# | 分野 (ソフトウエア開発) | ゲームボーイ アドバンスで遊ぶ(その2) »

コメントを投稿

« (前の日) 運転時の目視確認 | メイン | ゲームボーイ アドバンスで遊ぶ(その2) (次の日) »

« 日本語版Visual Studio C# | 分野 (ソフトウエア開発) | ゲームボーイ アドバンスで遊ぶ(その2) »

2009年1月
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
最近の更新記事
 
最近のつぶやき
Powered by