そこで、IchigoJam(Rではない、コンピューターがNXP社のLPC1114のもの)とキーボードをプレゼント。下記のプログラムを入力しておけば、電源ONで、楽しくキーボードで遊べるおもちゃのできあがり!
「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
「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を使ったプログラミングクラブとキーボードはじめのいっぽ