ゲームボーイ アドバンスで遊ぶ(その2)

昨日準備した開発環境でちょっとしたおもちゃを作ってみた。

まず、開発環境についてのポイント。

Linuxから目覚めるぼくらのゲームボーイ! のサンプルコードであれば問題ないが、Webに出回っているサンプルコードは、そのままでは動かないことが多い。というか、USBケーブルを使って起動するようにはなってない。Webに出回っているコードは、ROMに書き込んだり、FlashRAMに書き込んだりして起動するようになっていたりする。

devkitadvでは、

int __gba_multiboot = 0;  // マルチブート指定

がポイントになるが、Linuxから目覚めるぼくらのゲームボーイ! では、crt.Sとgcc.lsがポイントになっている。

このあたりをちゃきちゃきと設定することで、動かせるサンプルプログラムの幅が広がっていく。

Linuxから目覚めるぼくらのゲームボーイ! には、コンソールの機能を再現したサンプルコードがついている。こいつを使って簡単なゲームを作ってみた。


手垢まるけの、きったないGAME BOYですんません。

この画面を見て、ピンと来たあなた。BASIC Magazine世代ですね。

そうです、スキーゲームです。Hで表現されているプレーヤーを左右に動かし、[—]で表現されているゲートがどんどん下からスクロールしてくるのを、くぐりぬけていくゲームです。

Z80時代のパソコンのゲームというか、当時の自作ゲームの定番です。

というのは、ゲームボーイのプログラムをいじっているうちに、昔、中学生のときに触っていた、PC-6601を思い出したんです。

プログラムが直接ハードウエアに繋がっていて、凝ったライブラリなんて存在しない。プログラムを書くときは、メモリを直接いじったり、ポートを直接叩いたり。

ゲームボーイのプログラミングってまさにそんな感じ。 

いやぁ、おもしろかった。

 
これはゲーム中の画面。

やっぱりハードの進歩は凄いですよ。当時はウェイトなしでもゲームになったんですけど、ゲームボーイではウェイトなしじゃ、速過ぎてゲームにならんです。

んでもね、やっぱり全部はじめから描くのはめんどくさい。
文字ひとつ描くにしても、音ひとつ出すにしても、全部はじめから書かないとあかん。

メモリがあんまりないんで、おかしなライブラリをつなぐくらいなら、自分で書いたほうがいいんでしょうけど、 やっぱりある程度のライブラリは必要ですねぇ。

Webで検索してみると、既に、DSの開発環境とか、PSPの開発環境とか出ているようです。

コメントを残す

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