れーすのエグゼ流星Blog

エグゼとゲームと雑記

エグゼ解析したりゲーム作ったりいろいろ。

GBAプログラミング 4日目

取組んだ内容

tutorial.4

mode4

やってみたこと

1.フレームバッファを無限ループでずっと切り替えさせてみる。

 

int main(void)
{
	// モード設定
	// 4bit目(BACKBUFFER)を1にすることで、フレーム2が有効になります
	SetMode(MODE_4 | BG2_ENABLE | BACKBUFFER);

	// 画像と色データの読み込み
	Mode4SetFrame((u8*)&frame1Bitmap, 1);
	Mode4SetFrame((u8*)&frame2Bitmap, 2);

	Mode4SetPalette((u16*)&frame1Pal);

	while(1){
	SetMode(MODE_4 | BG2_ENABLE);
	SetMode(MODE_4 | BG2_ENABLE | BACKBUFFER);
	}
	

	for(;;)
	{
	    WaitForVsync();
	}
}


f:id:rai17321:20180530155500j:plain

考察

 フレームバッファが画面切り替えに使われるのはわかったけど、BACKBUFFERの値をソースコード上で変えたら切り替わるのか?
という考えから、試しに無限ループでやってみたところ見事にヒット。

BACKBUFFERが定義されているのは
#include "lib/gba.h"
#include "res.h"
のどちらなのかな。

そして、助言をいただきはてなブログの記法を見たままからはてな記法にしました。
これでソースコード問題も解決だね!