あーさん日記

https://akkera102.sakura.ne.jp/gbadev/ の中の人

Dockerで始めるゲームボーイアドバンス開発入門

https://booth.pm/ja/items/1041468
https://github.com/shumon84/GBAonDocker


正直にいうと、えーと、かなりびっくりしました。
本になったGBA wikiという感じ?でしょうか。図も結構まんまですし。


あのホコリ被ってた文章に、別の方の視点が加わってかなりパワーアップしています。
説明の仕方は人それぞれと思っていたのですけど、使っていただけるとは大変ありがたいです。


添削されると全然違うなーというか、ヲレは日本語不自由だなあと改めて思いました。
最初のサンプルはgba.hを使わず書いててわかりやすいですし、
VBLANK無視して描画すると変な表示になりますって例もいいです。


冒頭20p読めるので気になる方は読んでみてください。

リハビリ8

エフェクト処理で1フレームごとに呼び出す関数なんですけど・・・。

// 引数sx 0-7
IWRAM_CODE void Mode3DrawCopyH(s32 sx)
{
	u16* d = (u16*)VRAM + sx;
	u16* s = Mode3.buf  + sx;
	s32  x, y;

	for(y=0; y<SCREEN_CY; y++)
	{
		for(x=0; x<SCREEN_CX/8; x++)
		{
			// 167 -> 227
			*d = *s;

			// 167 -> 19
			// dmaCopy(s, d, 2);

			d += 8;
			s += 8;
		}
	}
}

この関数前後のVCOUNT値を調べてみます。

VCOUNT 167 -> 227

結果ぎりぎり。素直に書いてこれですかーい(血吐き)と愚痴らせて頂きます。
さすがGBAプログラミングです(泣。


追記:
f:id:akkera102:20181021234155p:plain
黒背景→玄関を表示。8フレームで完了で、スクショは7フレーム目です。