Getting started
パート2ではアルカノイドのようなゲームをつくっていくみたいですが、チュートリアルが未完成のようです(笑)とりあえずできるところまで読んでいきます。また、ソースファイルはなく、記事から自分でファイルを作成していくようです。
最初のタイルとタイルマップのデータをコピーして表示させるところは、パート1のHello worldと全く同じなのですんなりかけました。
WaitVBlank:
ld a, [rLY]
cp 144
jp c, WaitVBlank
こちらのコードもHello worldにありましたが、調べてみると LYレジスタに現在表示している行番号が入っており、終了すると144になるようです。ゲームボーイの解像度が縦144ドットで、0 から 143 のときは表示中とのことで、納得です。LCDの表示が終了してからLCDをオフにし、VRAMに表示すべきものをコピーしてからオンにするという流れのようです。
ためしに永久ループへ入る前に
ld a, 0
ld [rLCDC], a
を入れてみると非表示となりました(これが自分で書いたアセンブラ初コードです!)
データをdbではなくdwで表現する方法も記載されていました。
タイルマップやタイルのデータを外部ファイルにする方法もあるのでしょうか(あとでしらべる)
次回
次回はいよいよスプライト(オブジェクトというらしい)です。ゲーム開発といったらスプライトのイメージがありましたので、楽しみです!
