Posted at

Arduboy のフレームバッファ

More than 3 years have passed since last update.


概要

Arduboy の画面に色々表示させるために、フレームバッファの構造について検証します。


フレームバッファの構造

1bit が 1 ドットに対応しており、 1 バイト毎に縦に並んでいる。

unsigned char* ptr = arduboy.getBuffer();

として、 ptr の添え字と座標の関係は以下の表の通り。

x0
x1
x2
...
x127

y0-y7
0
1
2
...
127

y8-y15
128
129
130
...
255

:

y48-y55
768
769
770
...
895

y56-y63
896
897
898
...
1023

auto ptr = arduboy.getBuffer();

ptr[0] = 0xff; // 1111_1111
ptr[8] = 0x11; // 0001_0001
ptr[16] = 0xa7; // 1010_0111

例えば上記のように描き込んだ場合は、

このように表示されます。

このことから、ビットの対応は、

bit

y0
0

y1
1

y2
2

y3
3

y4
4

y5
5

y6
6

y7
7

になってることがわかりました。