福野泰介の一日一創 - create every day

フルカラーLED、WS2812B 16x16 をあやつるマシン語プログラムのパッチ(差分) on IchigoJam

2018/02/05
#IchigoJam #maker #KidsIT #arm 

32x8マトリクスに続き、16x16マトリクスが到着。
そのままつなぐと、左右の方向が合わずでたらめな表示になる。32x8用プログラムを修正しましょう。

16x16の配線を見ると、こちらも16コが1行毎にジグザグになっているので、32コで折り返すところを16にして、8行ではなく16行にすればOK。 3箇所書き換えます。

R1+=R12 R0+=1 R2=15 ' for 16x16 R0&R2 IF !0 GOTO @LOOP_DATA R2=R0>>4 ' for 16x16 R2-16 ' for 16x16

#700からのマシン語なので、前回のプログラムにこの3箇所POKEコマンドで書き換えれば16x16用ドライバのできあがり!

35 POKE#734,15:POKE#73C,16:POKE#73A,2

画面の左上から16x16の領域にある文字コードを256色の色コードとして表示するプログラムになりました!
こういうプログラムの差分をパッチと呼び、パッチを適応することをパッチを当てると言います。
プログラミングは積み重ね。いかに流用して楽するかを考えましょう。


マシン語を解説する本「機械のコトバ
コンピューターとアルゴリズムをベースとした、プログラミング言語の成り立ちが丁寧に解説されています。

迷路とは何か?移動とは何か?
0と1を記憶したり、反転したりすることしかできないプリミティブなコンピューターをひとつひとつ理論を積み上げていく楽しさは、数学や物理のおもしろさに通じます。

興味を持ったら、ひとまずやってみる!が一番!

接続用のケーブルは、マトリクスLEDについているコネクターを流用して、3ピンのピンヘッダーをはんだづけ&ホットボンドがいい感じでした。

links
- IchigoJamの画面からダイレクトであやつる、256色カラー32x8電光掲示板!Armマシン語ジグザグドライバ for WS2812B
- はじめてのマシン語 - IchigoJamではじめるArmマシン語その1

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像