カテゴリー
IchigoJam

I2C液晶用のキャラクタ(フォント)を簡単に探し、入力方法も

I2C液晶用のキャラクタ(フォント)を簡単に探し、入力方法も

I2C液晶でゲームを作るときに、I2C液晶とIchigoJamとのキャラクタに、相違が発生する場合があります。
アルファベットや数字の文字コードは同じです。しかし、一部の記号や特殊文字の図柄やコードが異なるからです。
例えば液晶に「̄」を表示するのに、IchigoJamでは[Alt]+[V]で「イチゴ」マークを入力します。分かりにくいと思っていたところ、たまたまIchigoJamの開発者の福野さんが、以下のようなプログラムを公開ているのを見かけました。
1 'SPECIAL CHARS
10 FOR I=0 TO 9:?I;:NEXT
20 FOR I=ASC("A") TO ASC("V"):?CHR$(I);:NEXT
30 FOR I=0 TO 31:?CHR$(128+I);:NEXT
40 FOR I=0 TO 31:?CHR$(224+I);:NEXT
CC BY 福野泰介 / @taisukef
ネコ人気!IchigoJamのスペシャルキャラクター入力チートシート – PCNこどもプロコン事前審査
これは、便利だ! I2C液晶にも使おう!
ということで、I2C液晶版を作成しました。

使い方:

キーパッドの左右または、通常のキーボードの左右でページを切り替えます。
液晶に16文字が表示されるとともに、テレビにも該当のキャラクタが表示されます。
さらに、[Alt]または[Shift]+[Alt]を押しながら入力する特殊文字については、該当キーをテレビに表示します(ここが先行例の応用部分)。
これで、入力も簡単になります。

プログラム

1 cls:?"LCD CHAR":wait 60:gosub 800
2 C=32
10 cls:lc 0,3:? "C=";C
20 if C=128 lc 0,5:?"Shift+Alt+":?:?"01234567":?"89ABCDEF"
30 if C=144 lc 0,5:?"Shift+Alt+":?:?"GHIJKLMN":?"OPQRSTUV"
40 if C=224 lc 0,5:?"Alt+":?:?"01234567":?"89ABCDEF"
50 if C=240 lc 0,5:?"Alt+":?:?"GHIJKLMN":?"OPQRSTUV"
100 'MAIN
110 for I=0 to 7
120 locate I,0:print chr$(I+C);
130 locate I,1:print chr$(I+C+8);
140 next
150 gosub 900
200 gosub 700:if K=0 goto 200
210 if K=1 or K=4 let C,C-16
220 if K=2 or K=3 let C,C+16
230 if C<0 let C,0
240 if C>240 let C,240
250 if K>5 cls:end
260 gosub 700:if K goto 260
270 goto 10
700 'KEYPAD
710 K=inkey():ifKletK,K&3+1:return
720 K=~IN()&#F:K=K+K>>1&4:K=K&7
730 return
800 'LCD INIT
810 poke#700,64,0,2,#C0,57,17,#70,86,#6C,56,12
820 ifi2cw(62,#701,1,#704,5)?"E"
830 wait12
840 ifi2cw(62,#701,1,#709,2)?"E"
900 'LCD OUT
910 ifi2cw(62,#701,1,#702,1)+i2cw(62,#700,1,#900,8)+i2cw(62,#701,1,#703,1)+i2cw(62,#700,1,#920,8)?"E"
920 return

テレビ画面(追加)

テレビ画面(左):Altと組み合わせて入力するキーが表示される
(写真はIchigoJamマイコンボードの互換基板)
テレビ画面の上の方がIchigoJam用のキャラクタです。これを液晶に転送すると右側のように表示されます。IchigoJamで入力するときは、テレビ画面の下の文字をAltキーを押しながら入力します。
例えば、テレビ画面の上側の右下に位置するイチゴマークは、液晶ではオーバーラインに、入力するときはAlt+Vであることがわかります。
これで、I2C液晶の全キャラクタを簡単に扱えるようになります。
IchigoJamに液晶を接続する方法は、こちらです。
by ボクにもわかるIchigoJam用マイコンボード

 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es