![](https://img.sabae.cc/data/20240719/1bb92aa8-59f7-4cc6-a7c5-e129016697e4.jpg)
コンピューター活用が欠かせない現代。こどもたちにも楽しくコンピューターを活用してもらいたいですね!大人がかっこよくキーボードを使っている様子を見て、こどもは当然真似したくなる!
そこで、IchigoJam(Rではない、コンピューターがNXP社のLPC1114のもの)とキーボードをプレゼント。下記のプログラムを入力しておけば、電源ONで、楽しくキーボードで遊べるおもちゃのできあがり!
![](https://img.sabae.cc/data/20240719/c36c9186-0e98-4eb9-aa15-a8b0c25313f4.jpg)
「MAXCHAR - run on IchigoJam web」
1 @ARUN:'MAXCHAR
10 POKE#700,112,181,9,35,27,2,201,24,4,49,192,0,18,24,0,36,3,38,19,93,128,37,24,70,40,64,0,208,1,32,8,112,1,49,8,112,1,49,8,112,1,49,109,8,243,209,8,49,1,62,1,209,1,52,3,38,8,44,234,209,112,189
20 POKE#73E,98,70,1,54,12,46,227,209,240,189
30 CLS:A=USR(#700,65)
40 K=INKEY():IF K=0 CONT
50 BEEP K:A=USR(#700,K)
60 GOTO 40
![](https://img.sabae.cc/data/20240719/035211a9-c5bc-466a-86cc-3ffed74c5609.jpg)
「BIGCHAR - run on IchigoJam web」
マシン語を打つの大変という方向け、BASICのみのちょっと小さめな文字バージョン
1 @ARUN:'BIGCHAR
30 VIDEO9:CLS:LC1,1:?"A";
40 K=INKEY():IF K=0 CONT
50 BEEP K:LC1,1:?CHR$(K);
60 GOTO 40
VIDEO9で文字サイズを大きくするとプログラムのリストが見えなくなるので、VIDEO1コマンドで元のサイズに戻しましょう。(ショートカットキー、F8)
VIDEO1
マシン語を学ぶ高専生向けの解説。
8x8、64コのドットで表現しているIchigoJamの文字。1つのドットを3x3の文字サイズで表示すると、32x24の画面いっぱいに表示できます。24倍サイズ!
IchigoJam BASICのマシン語呼び出し関数 USR を使うと、レジスタR0にパラメータ、R1に仮想RAM0の物理アドレス、R2に仮想ROMの物理アドレスが渡されます。仮想RAMのVRAM#900番地のメモリに書き込めば画面に表示されるので、縦横3倍に書き込むことで、画面いっぱい描画ができあがり!
'MAX CHAR PROGRAM
'R0: param, char
'R1: virtual memory offset(RAM) -> CURSOR
'R2: virtual memory offset(ROM) -> CHAR ADR
'R3: VRAM
'R4: vertical counter
'R5: horizontal counter
'R6: 3 times counter
PUSH {LR,R4,R5,R6}
R3=9
R3=R3<<8
R1=R1+R3
R1+=(32-24)/2 'CENTER
R0=R0<<3
R2=R2+R0 'CHAR ADDRESS
R4=0
R6=3
@LOOP1
R3=[R2+R4]
R5=#80
@LOOP2
R0=R3
R0&=R5
IF 0 GOTO @ELSE1
R0=1
@ELSE1
[R1]=R0
R1+=1
[R1]=R0
R1+=1
[R1]=R0
R1+=1
R5=R5>>1
IF !0 GOTO @LOOP2
R1+=32-8*3
R6-=1
IF !0 GOTO @ELSE2
R4+=1
R6=3
@ELSE2
R4-8
IF !0 GOTO @LOOP1
@END
POP {PC,R4,R5,R6}
'A=USR(#700,ASC("A")):WAIT120
Arm版asm15アセンブリ言語表記した上記プログラムを、asm15アセンブラを使ってアセンブルすると、上記プログラムで使っているPOKE文ができあがり!
10 POKE#700,112,181,9,35,27,2,201,24,4,49,192,0,18,24,0,36,3,38,19,93,128,37,24,70,40,64,0,208,1,32,8,112,1,49,8,112,1,49,8,112,1,49,109,8,243,209,8,49,1,62,1,209,1,52,3,38,8,44,234,209,112,189
20 POKE#73E,98,70,1,54,12,46,227,209,240,189
あとは打ち込むか、IchigoJam webで試すか、USB UARTで流し込めばOK!
こどもたちと一緒に学ぼう、コンピューター!
links
- 4才にプログラミングを教える10ステップ
- 小1でマスターするキーボード、タイピングゲーム「ゴモジ」
- キーボードとアルファベットで遊ぶおもちゃづくり!未就学児と始めるIchigoJamシリーズ
- 初めて触るキーボードの気持ちが蘇る「かたかなろーまじゲーム」品川区こどもプログラミング発、小学1年生のアイデア
- プログラミングD分類、鯖江市では全小学校でIchigoJamを使ったプログラミングクラブとキーボードはじめのいっぽ