IchigoJamで自由にキャラクターを作ってみます。まずIchigoJamのコード表はどうなっているかというと、下記のPDFで公開してくださっている方がいるので、利用してみます。
IchigoJam 文字コード表
http://comich.net/ichigojam/chrtable16.pdf
※フォントパターンは CC BY IchigoJam(http://ichigojam.net)
コード表は CC BY 斎藤史郎 (http://d.hatena.ne.jp/shiro0922)
16×16なので、256種類の文字が使えるのですね。その中で、キャラクタを変更できるのは下記の赤枠の部分だけです。また、このキャラクタを変える機能を「PCG」といいます。
この表の読み方ですが、たとえばハートマークは、E0の行にあり、5の列です、なので、E5がこのキャラクター番号です。10進数では229番目のキャラクターに当たります。後のキャラクタ定義で見るように、1つのキャラクターあたり、8つの数字を使います。なので229×8=1832、≒ #728がハートマークの定義開始位置です。
キャラクタ定義
さて、ハートマークを昔なつかしの壁の定義にしてみましょう。まず、8×8の方眼紙を用意します。その中に自由に絵を描いてください。
絵を描いたら、これを、コンピュータが分かる形にしていきます。ここは先の絵の、黒と白を1と0で表現します。これが2進数での表現です。
2進数から今度は16進数に直します。ここで注意なのは、作った絵を、中央で分割して4ビットごとに16進に変換し、足していきます。2進数から16進数の変換は次のように0と1の羅列が対応しています。
これをIchigoJamのプログラムに置き換えますがそれにはPOKE命令を使います。POKE命令の使い方は、第一引数がアドレス、第二引数に代入する数字を書きますが、連続して数字を書くと、第一引数のアドレスから加算した場所に代入されるようです。
分割してPOKEする POKE #728,#FE POKE #729,#FE POKE #72A,#FE POKE #72B,#00 POKE #72C,#EF POKE #72D,#EF POKE #72E,#EF POKE #72F,#00 連続して数字をにPOKEする POKE #728, #FE, #FE, #FE, #00, #EF, #EF, #EF, #00