シリアル接続
できるようになるまでは BakingPi ってことで Screen02 に某所で着手。
メモを取りつつ ice vietnamese coffee を頂きつつ云々。なんとなく読む事自体の抵抗感はアレですが arm のマニュアルをいちいち確認しなきゃ、なあたりが微妙にストレスフル。
描画するナニについては screen01 で出てきた FrameBufferInfo の #32 な番地が指すアドレスに、なのですがその位置を算出してるのが以下な箇所な模様。
mla px,py,width,px
mla とか便利な命令があるものだなぁ、と。マニュアルには以下な形で凡例が出てます。
MLA{S}{cond} Rd, Rn, Rm, Ra
MLA 命令は Rn と Rm の値を乗算し、Ra の値を加算して、演算結果の下位 32 ビットを Rd に返します。
ARM なマニュアルより引用
これ、C な二次元配列のある要素の先頭アドレス求めるアレですね。あと以下な事をしてるのも
add addr, px,lsl #1
つうかこれ high color で 16 bits 使ってるので単純に倍しておきなさい、って意図と認識しておるのですが正しいのかな。px を左に 1 bit シフトして addr に格納、なはず。
DrawLine
言われてみると確かに線を引くって大変ですね。アルゴリズムの詳細についてはスルーします。