arcanum_jp’s blog

おっさんの日記

IchigoJamで自由にキャラクターを作ってみる

IchigoJamで自由にキャラクターを作ってみます。まずIchigoJamのコード表はどうなっているかというと、下記のPDFで公開してくださっている方がいるので、利用してみます。

IchigoJam 文字コード
※フォントパターンは CC BY IchigoJam(http://ichigojam.net)
 コード表は CC BY 斎藤史郎 (http://d.hatena.ne.jp/shiro0922)

http://comich.net/ichigojam/chrtable16.pdf

上記のPDFを拝借して下記に画像として貼付します。

 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