鯖江のHana道場、会津若松の寺子屋Hanaに続くHanaシリーズ3拠点目、沖縄県沖縄市に「Hanaわらび」オープン! IchigoJamによるはじめてのプログラミングから、JavaScriptなどプロも使うソフトウェア技術まで、電子工作、レーザーカッター、3Dプリンターなどを使ったものづくりなど、可能性伸ばす場づくりが広がっています。


Hanaわらびの代表、玉城哲真さんからの熱い事業発表!


すべての世代に可能性を!大人も学生もこどもも地域も!


Hana道場寺子屋Hana、そして、Hanaわらび


ニッポンの「未来」を現実にするをビジョンとする、SAP Japan、大我さんから祝辞!地方創生、人材育成、製品開発、スタートアップまでの強力なエコシステム!
沖縄市に、多世代向け教育プログラムの実施拠点 「Hanaわらび」を開設、地域教育を支援 - SAP Japan プレスルーム

この語、HanaわらびではIchigoJamを使ったプログラミングワークショップ。楽しそうな写真がシェアされてました!

福井県鯖江市のHana道場の取り組みを知ってから約2年、やっと沖縄にもHanaをオープンさせることができました。 ご参加いただいた皆さん本当にありがとうございました! 多世代向け教育プログラム実施拠点Hanaわらびをよろしくおねがいします!

Kenichiro Toyosatoさんの投稿 2021年4月3日土曜日

すぐ楽しいのがBASIC、でも、意外と奥も深いのです。
たったの10行のコードで作られたMSX用RPG「10 Lines Hero」をブラウザで遊んでみた - GIGAZINE
IchigoJam誕生のきっかけ、34年前に出会ったパソコンMSXで育ったエンジニアは数多く、今でもファンやユーザーが多くいます。その新作、BASIC10行で作られたロールプレイングゲームが話題です!

こちらプログラムのすべて!縦読みもできちゃうスゴイプログラム!1行の上限いっぱい255文字で10行、サイズは約2.5KB、IchigoJam BASICは1KBのプログラムが4つ保存、連携できるので、規模的には同じくらい。

IchigoJam BASIC ユーザーのための、MSX BASICの読み方を紹介。
1. コメントにデータ埋め込みは共通技(プログラムはメモリの#8000にあります、IchigoJamは#C00)
2. PCGの書き換えはVRAMへ書き込む、VPOKEを使う(アドレスはIchigoJamと同じ)
3. テキスト画面と独立したキャラクターを表示するスプライトがあります(PUT SPRITE、VRAMにパターン書き込み)
4. 8文字単位で色をつけられます(VRAMの所定パターンに値設定)
5. =などの条件が正しいときは -1 になる(IchigoJamはC言語に合わせて 1 )
6. NEXT変数名で、特定のFORループへ戻れる(IchigoJamではFORループの指定はできません)
7. 二種類の割り算、/は結果を小数で返し、¥は整数で返します(IchigoJamは整数を返す/のみ)
8. 配列は()を使い、10コ以上使う場合はDIMで宣言(IchigoJamは主流言語と合わせて[]を使用)
9. ステージ生成用のマイナスを指定して乱数初期化(IchigoJamのSRND命令)
10. 変数は2文字まで使えます(IchigoJamは1文字)
11. T$は文字列変数、MID$など文字列専用の命令あり(IchigoJamはSTR$を使います)

JavaScriptのように読みやすくインデントすると、データ部を除き180行くらいと、やはりコンパクト。GOTOを使っているのはクリア時の無限ループの一箇所のみ。おもしろい作りです!


なめらかに動く体力ゲージがステキだったので、IchigoJamでも1ドット毎に増減するレベルメーターを作ってみました。

10 FORI=0TO8:FORJ=0TO7:POKE#700+(8-I)*8+J,255<<I:NEXT:NEXT 20 N=32+SIN(I*8)/8:GSB@BAR:?:I=I+1:CONT 40 @BAR:?STR$("████████",N/8);:IFN>=64RTNELSE?CHR$(224+N%8);STR$(" ",7-N/8);:RTN

Nに0から64までの数を入れて表示したい場所へLOCATE(LC)した後、GSB@BAR と呼び出すとレベルメーターが表示されます。

RPGを自分で創ってみたい人、まずはこちらのゲームの打ち込みからチャレンジしてみよう!
Beat the Z for IchigoJam - プログラミングして過ごそう! PCN仙台オンラインIchigoJam講座とミニテクニック


いろんな連携、楽しみですね!

鯖江の新拠点、名称決定「Sabae Creative Community」記者会見!

鯖江ブランド伝えるロゴ「SABAE MADE」のネオンサイン


鯖江商工会議所、黒田会頭と、総合プロデューサー黒崎輝男さん!
市内外、福井県のみならず、世界中からクリエイターとの交流の場、2020年1月誕生!


32bit波形メモリ音源
ソフトウェアクリエイターとして、記念に何か作っておきたいところ。 SCCと言えば思い出す。こどもの頃のパソコン、MSX用に開発された、波形メモリ音源の一種、SCC音源、わずか32byteの波形メモリだったということで、大雑把に再現してみました。 32x8のドット絵キャンバス風なところで、波形を描いて鳴らせます。

絵、動画、3D、音、音楽ソフトウェア、ハードウェア、彫刻、服飾、焼き物、料理など、いろんなクリエイターが集い、相互に刺激しあえる場所になる予感。

ちょうどこの日、福井高専地域連携アカデミアのイベントも!

初のポスターセッション「こども実業団」
地域と高専で育てる創造的IT人材!スポーツと同様、県大会で盛り上げよう、福井発、越前がにロボコン

こども実業団 = こどもプログラミング必修化 x ロボコン県大会 x 企業の土日の会議室 x 小学生を持つ社員 x 地域の子供たち

企業メリット:地域のこどもたち育成、地域の親からの感謝、社員福利厚生、県大会で応援する楽しみ、遊休資産活用
月に1度程度でOK、高専生にサポートに来てもらうのもあり、大人向けIoT講習をとっかかりとするのもあり
こどもプログラミング+IoT=大人プログラミング! 総務省 デジタル活用共生社会実現会議 ICT地域コミュニティ創造部会にて情報提供&体験会


福井高専と地域企業との交流の場。創ろう、横のつながり、縦のつながり。


すでに世界103ヶ国に日本酒を輸出する、梵!
創り、学び、創る!

はじめてパソコンに触れた8才、カセットテープに保存できると知り、自宅のダブルラジカセに接続するも、一度も読み込み(CLOAD)に成功できなかったあの頃。33年後、Macから自作CMTケーブルで接続して、初成功!

なんちゃってカンサスシティエンコードでWebAudioを復習しつつ、仕様書片手に本格実装!
2章 カセット・インターフェイス - テクハンwiki、2400bpsのヘッダ構成は4800Hzの誤記)


KansasEncoder for MSX
BASIC中間コード、BSAVE形式のバイナリ、ASCIIコードと3種類ある内、ASCIIを実装。
テキストエリア内に書いたプログラムをカンザス生まれのカンサスシティエンコードMSX版で再生!
"PLAY"ボタンを押すと、ピーーーー、ギョロギョロギョロっと懐かしの音がします。

CMTケーブルをつないだMSX上で、RUN"CAS:" と動かし、"PLAY"、Found: TEST と表示され、Ok が出れば、読み込み成功!2400ボーにする場合は、SCREEN,,,2 と設定しましょう。


自作のCMTケーブル(CMT変換器)
* CMT = Cassette Magnetic Tape、カセットマグネティックテープ、カセット磁気テープ、いわゆるテープやカセット、MSXにはスロットに刺すカセットもあるのでテープとカートリッジと呼び分ける

端子は8ピンのDINですが、使っている信号線は下3ピンのみなので、MIDI用の5ピンのDINソケットや、MIDIケーブルがそのまま使えます! (プラグ80円ソケット70円基板取付用ソケット60円DIP化ソケットキット180円ステレオミニジャック50円ステレオミニジャックDIP化キット150円 - 秋月電子)

ソケット側を裏から見て、一番下がGND、右下がMacのスピーカー端子へ接続するMSXの入力側端子(左下が出力端子)。ステレオミニジャックと直結でOK!便利なので、IchigoJamでも対応したい。


CMTとシリアル、2系統でつながるMacとMSX。今回作ったCMTケーブルで、ジョイスティックポートを使ったシリアル通信用ドライバを書き込み、より高速で柔軟なクロス開発環境が完成!

福井高専入学時には、ポケコン用アプリのクロス開発環境のホストとして活躍したMSX、今度はターゲットに!(最終機種、MSXturboRがカセットインターフェイスを廃止なのは惜しい)

かつてはたどり着けなかったパソコンの深い世界。ネットがある今なら、サクサク!
思い出のMSX1パソコン、CANON V-10のジョイスティックポートを経由して、IchigoJamからプログラムを送り込むことに成功!


左はIchigoJamの画面、右はMSXの画面(COLOR15,1,1で色変更)
IchigoJam側で打ち込んだ文字をOUT1とOUT2を使って、SPI非同期通信。MSX BASICで書いた受信プログラムで受け取ったデータを表示しつつ、マシン語用に確保したメモリに書き込めた。


どこかで100円で購入したD-Sub9ピンのオスケーブルを、ブレッドボードで使えるように準備。
テスターで導通チェックしながら、1から9番ピンまで並べます。(シールドも9番のGNDにはんだづけしましたが、どうだろう)


ピンはどちらでも使えるように、長ピンソケットをはんだづけしてできあがり!


ジョイスティックポート、MSX BASICのSTRIG命令を使ってボタンの押し下げを取得できます。 8番ピンを6番や7番へショートすれば、押したなることを確認できます。確認用のMSX BASICプログラムはこれだけ!

10 ?STRIG(1),STRIG(3):GOTO 10

続いて、IchigoJamとの接続です。


IchigoJamのOUT1とOUT2を、6番、7番ピンへ接続。9番ピンのGNDの接続ついでに、5番ピンの5VをIchigoJam用に拝借!

IchigoJamから確認してみましょう

OUT1,1 OUT1,0 OUT2,1 OUT2,0


無事、IchigoJamからMSXへ伝わりまし���!
(IchigoJam同士でOUT1からIN1へ接続しても遊べます)

あとは、この2本を使って送受信プログラムをつくるだけ。最初のMSX BASIC上のプログラムは手で打ち込まないといけないので、できるだけ短く実装できる、通信方式に同期式通信であるSPIを採用。

IchigoJam用送信プログラム

10 OUT1,1:OUT2,1:W=2 20 K=INKEY():IF!KCONT 30 FORI=7TO0STEP-1:OUT2,~K>>I&1:OUT1,0:WAITW:OUT1,1:WAITW:NEXT 40 GOTO 20

MSX BASIC用受信プログラム

10 CLEAR200,&HCFFF:DEFINTA-Z:A=&HD000 20 N=0:B=128 30 IF NOT STRIG(1) THEN 30 40 N=N+(STRIG(3)AND1)*B 50 IF STRIG(1) THEN 50 60 B=B/2:IF B THEN 30 70 ?CHR$(N); 80 POKE A,N:A=A+1:GOTO 20

BASICのプログラムも、中間コードをバイナリ#D000以降に受け取ったデータを、#8000や#C000などのBASICプログラム領域にコピーすればOK!

Z80用のCコンパイラ&アセンブラなどのツールキット「Z88DK」もいい感じに動いたので、いろいろ捗りそうです。

STICKコマンドを含めて、BASICでも最大6つの信号を受け取れるので、MSXをIchigoJamから音源としてとして使う、PanCake的にグラフィックボード的に使うなどもありですね! 身近なコンピューター、いろいろつないで遊んでみましょう!

はじめて買ってもらったパソコン「MSX CANON V-10」で、IchigoJamが動いた!?

見慣れた、黒背景白文字、LED1で、CAPSLOCKのLEDがつく!

LED1

IchigoJamが誕生した2014年からの伝統、はじめのいっぽは、LED1!
出荷はなんと、5万台!国内外、多くのこどもたちにお届けていただき感謝です!

こちらが、MSXでIchigoJam風のプログラム。
IchigoJam BASIC がわかる人にはなんとなく読めるはず。

10 COLOR 15,0,0 15 CLEAR 200,&HCFFF 20 KEY OFF:CLS 30 PRINT"IchigoJam BASIC 1.3 for MSX?":PRINT"OK" 45 C$="" 50 IF T MOD 30=0 THEN LOCATE,,T/10MOD2 60 T=T+1:K$=INKEY$:IF K$="" GOTO 50 75 PRINTK$;:IF ASC(K$)<>13 THEN C$=C$+K$:GOTO 60ELSEPRINT 85 IF C$="LED1" THEN N=0:GOSUB100 86 IF C$="LED0" THEN N=1:GOSUB100 89 PRINT"OK":GOTO45 100 A$="3E01CD3201C9":FORI=0TO5:POKE&HD000+I,VAL("&H"+MID$(A$,I*2+1,2)):NEXT 110 POKE&HD001,N:DEFUSR=&HD000:A=USR(0):RETURN

CAPSLOCKを光らせるためにZ80マシン語を使用!
完全移植してしまうのもおもしろいかもしれません。


MSXフォントではこちら。

実装のポイント
- IchigoJam ver 1.3 で実装したカーソルスイッチ(LOCATE,,1)を使ってIchigoJam風
- LED1でつけるCAPSLOCKのLED、BIOSのCHGCAP(0132H)を使用(Aの説明逆?)
- LD A,1 / CALL 0132H / RET をZ80マシン語に変換(不思議とほぼ覚えてる)
- マシン語用にCLEARでメモリ確保(RAM16KBのBASICはC000スタートと判明
- MID$でマシン語書き込みテクニック(POKEの連続書き込みができるIchigoJamは便利!)
- マシン語の呼び出しは、DEFUSRしてからUSR!(IchigoJamのマシン語では、直接USR!)


MSX CANON V-10 表面、カートリッジにつなぐ何かつくるのもおもしろいですね。
とりあえず、Macと接続してクロス開発できたら便利そう。


MSX CANON V-10 裏面、カセットのインターフェイス!
コンポジットのビデオ出力はいまでも生きてます。


MSX CANON V-10 前面、ジョイスッティックポート x2


MSX CANON V-10 左面、2つカートリッジがさせるとは今、気が付きました。


MSX CANON V-10 背面、スロットからとれる電流表記あり。今なら意味がわかります。


1984年製のMSX、33年前に買ってもらったパソコンと同型、まだ立派に動いてくれました!
定価54,800円! RAM16KB

MSX魂を込めた、IchigoJam、これからも多くのこどもたちにプログラミングのきっかけ届けます!

本日、鯖江Hana道場にて、感謝の気持ちを込みた、ひみつのプレゼント!
IchigoJam生誕祭(5才の誕生日)
→ ひみつのこたえは「イチゴ焼!

links
- IchigoJam5才の誕生日!【IchigoJam生誕祭】: Hana道場
- IchigoJam 5th Annivarsary | PCN プログラミング クラブ ネットワーク
- IchigoCake BASIC | Programming Club Network
- 2014年 目指すはMSX! Raspberry Pi より安価な IchigoJam 発表!
- 2015年 創る人を創ろう! Pepper より安価な こどもロボットPaprika 発表!
- 2016年 MSXになりたい「こどもパソコンIchigoJam」あの起動ロゴを搭載!
- 2017年 IchigoJam Zero the World's Lightest PC 0g 150yen for IchigoJam Things!
- 2018年 盲聾のこどもたちにもプログラミングを! 体で感じる体表点字、IchigoBrailleでブラインドプログラミング、IchigoJam 4th Birthday!
- 2019年 IchigoJam for MSX!? はじめてパソコン CANON V-10 と IchigoJam 5th anniversary!

小学生の頃、MSXの投稿されてすごいゲームが使っていたZ80マシン語に憧れ、挑戦したハンドアセンブル。
16進数で、#CD = サブルーチンのCALL、#C9 は、RET(サブルーチンから戻る)、#00 はNOP(何もせずスキップ)くらいは、ずっと覚えているまま。

国産ルネサスの8bit/16bit CPU、RL78用IchigoJamの移植も進む中、Z80 to RL78 converterを考えてみる。

RL78 ファミリ ユーザーズマニュアル ソフトウェア編」を見てみると、懐かしいレジスタ群!

A, B, C, D, E, H, Lという8bitレジスタ構成はZ80とほぼいっしょ。Xレジスタという、AXと合わせて16bitにできるレジスタや、1Mbyteまでのメモリ空間を扱うための、ES、CSレジスタを使うあたりに成長したZ80の姿を見た気がして感動できる。

RL78は16bit CPUと分類されているが、厳密にはRL78/G10のS1コアは8bit CPU、G13など一般ライン用S2コアは16bit、G14のS3コアは更に乗除算積和演算命令が加わっている。そんなこと言いながら本当は全部8bit CPUなんじゃないかと思ったが、レジスタを16bitとして使う命令に必要なクロックが、S1コアは2clock、S2/S3コアは1clockになっているので、確かにS2/S3は16bit CPUっぽい。 Z80の上位互換CPU、R800を積んだMSXturboRみたいなものだと思うと、一層愛着が湧いてくる。

命令表は下記のような感じでこれもまた馴染みやすい。

「命令マップ (1st MAP)」
RL78 ファミリ ユーザーズマニュアル ソフトウェア編に複数バイト命令用マーク追記

さすがにバイナリ互換ではないが、Z80のCALL:CD nn nn → FD nn nn、RET:CC → D7、NOP:00 → 00。など、ほぼ読み替えでいける。 Z80では、LDと表記するところ、MOV表記になっていたり、16bit操作命令が大幅増、レジスタに0や1をセットするCLRB/CLRW/ONEB/ONEWなど、進化しているなど、RL78はZ80愛好家が作ったに違いない親しみやすいマシン語となっている。

以前、逆アセンブルして解析したMSX用太字処理をするZ80のコードをRL78でかいてみると、こんな感じになる

MOVW BC,700H MOVW HL,100H @LOOP CALL 004AH MOV E,A SHL A OR A,E CALL 004DH INCW HL DECW BC MOV A,B OR A,C BNZ @LOOP RET

LD → MOV/MOVW、SRL → SHL、JR NZ → BNZ、ORはオペランドを取るのでOR A,Eなどと変わるところ、DECWでBCを1減らしてもゼロフラグが変わらないので、Aレジスタを使ってなんとかするスタイルも一緒。
*すみません、記述当初は16bitレジスタで普通にゼロフラグが使えると思っていましたが、間違ってました。Z80感覚で正しいようです。

かつてのソニーのパソコン、SMC-70の後継機、SMC-777Cの紹介記事「御三家に食い込むことはできなかった技術の結晶「ソニー SMC-777C」 - AKIBA PC Hotline!」から気になったANN表記は、asm15と同じような思想で作られていた。

BASICのようにイコールでレジスタ間転送がかけてシンプル。ローテートやジャンプ命令も短い記号を使ったところがちょっとややこしく感じちゃう点と、小文字を使って敷居が高く見えちゃう点が残念だったのかも。

コンピューターの進化に関わるエンジニアの想いが直接感じられるのが、マシン語のおもしろいところ。
RL78搭載IchigoJamが登場すれば、マシン語で伝説の16進数を直接手打ちするプログラミングするスーパーテクニックを子供に見せるチャンスかも!?

IchigoJamの太字化、MSXの例に習ってマシン語化してみました。

POKE#800,7,34,18,2,137,24,10,120,19,70,82,8,26,67,10,112,1,49,1,56,247,209,112,71

PCGの#700に使いたい文字のパターンをコピー(この例は0〜9の数字をALT+0〜9へコピー)

COPY#700,ASC("0")*8,10*8

あとは太字化処理したいバイト数を指定してマシン語呼び出し!(2度実行すると更に太字に!)

U=USR(#800,10*8)

ALT+0〜9で書いてみましょう!プログラムでももちろん使えます

FOR I=0 TO 9:?CHR$(224+I):NEXT

ベースのアイデアはこちらMSX版

MSX BASICのプログラム、70行で書き込んでいる23byteのマシン語部分を解析(逆ハンドアセンブル)してみました。(表示用につくった MSXLIST

Z80のニーモニックを、asm15表記風に書いてみるとこんな感じです。

BC=#700 HL=#100 @LOOP GOSUB @RDVRM E=A A>>=1 A|=E GOSUB @WRVRM HL+=1 BC-=1 A=B A|=C IF !0 GOTO @LOOP RET

Z80のレジスタは基本8bitなので、16bitとして使うBCレジスタの0判定がおもしろいですね! MSXのVRAMはRAMに割り当てられていないので、BIOSというMSX組み込みのコードを呼び出していました(RDVRM/WRVRM)。 どうもこの呼出が結構遅い様子。VDPという一種のGPUを使って高速化するのが常套手段だったようです。(VDPはGPUの元祖かも?)

IchigoJam用に書き換えたマシン語がこちら(asm15 assemblerでアセンブルできます)

R2=7 R2=R2<<8 R1=R1+R2 @LOOP R2=[R1] R3=R2 R2=R2>>1 R2|=R3 [R1]=R2 R1+=1 R0-=1 IF !0 GOTO @LOOP RET

ほぼ一緒ですね!

このようにCPUが違うとそのCPUで使えるレジスタや、コマンドが違いますが、やっていることは基本的に同じ。 C言語やJavaなどは、このようなCPU毎の差を埋めるプログラム(コンパイラ)が助けてくれているわけです。

何でも作れちゃう感がアップする「マシン語」おすすめです!
連載、IchigoJamではじめる、Armマシン語入門 1. はじめてのマシン語

テレコムサービス協会北陸支部の総会での講演
誰でもIoTで加速する、オープンデータによる次世代web社会

こんな感じのおなじみBASICで、IoTが実現できます、に沸く会場!

10 CLS 20 X=15:Y=22:A=1 30 X=X+A:IF X<1 OR X>29 A=-A 40 LC X,Y:?CHR$(252-A);:WAIT10:?CHR$(28,0); 50 GOTO30

ちょうど懐かしの MSX BASIC が盛り上がっていたので、IchigoJam BASICで名作「8192階建ての塔」の移植しかけてみました。まずは左右に歩くプログラム。?CHR$(28,0)がちょっとしたテクニック。
突如パソピアIQを手に入れたJKが突如twitterに現れたオッサンからMSX-BASICを教わってゲームをプログラム - Togetterまとめ

次に、塔にするための次のステップ、段をつくっただけのものが上記動画。

10 CLS:FORI=0TO9:LCRND(25),2+I*2:?"oooooo":NEXT

続き、ぜひ挑戦してみてください!


支部会長のアイオーデータ機器の細野社長ほか、BASICを知っている人、多数!
IchigoJam BASIC(1500円) x sakura.io(60円/月) で、お手軽IoT、いろいろ実験しましょう!


I-O DATA製1080/60p高画質録画 GV-HDREC を使って IchigoJam をHDMIモニターに映すことができました。ライブコーディング実況にも挑戦しちゃおうか!?

links
- 突如パソピアIQを手に入れたJKが突如twitterに現れたオッサンからMSX-BASICを教わってゲームをプログラム - Togetterまとめ
- MSX-BASIC の1画面プログラミング技術 - nagix
- MSXユーザーのためのIchigoJam入門 - MSX Advent Calendar 2015

発表から2年を迎えたこどもパソコンIchigoJam、念願の起動ロゴを搭載!

ボタンを押さなくても自動起動
IchigoJamのCPU、NXP LPC1114FN28のRAMは4KB!ユーザー用プログラムメモリは1KB!

起動後は懐かしい画面からBASICのプログラミングが始められます。

はじめのいっぽは「LED1、エンター」
5つキーを押すだけでコンピューターに命令して動かす本質を体感できます。

続いて、3行のプログラムを入力して、F5キー(RUN)を押せば、永遠にエルチカ(LEDをチカチカ点滅させる専門用語)を命ずることができるプログラマーの誕生です!

10 LED1:WAIT30 20 LED0:WAIT30 30 GOTO10 RUN

1Hzで点滅するLEDプログラム for IchigoJam BASIC


人類史上最高の発明「コンピューター」それを自在に操る「プログラミング」
はじめのいっぽ」はじめてみませんか?


MSX風、起動ロゴの種明かし。
魔法のように見えるロボットにも、ウラにはこんなプログラムが潜んでいます。
このまま打ち込めば、動きます!(ロゴ部分はSHIFT+ALT+0〜Fを駆使しましょう)

24KBカツカツのIchigoJam OSに起動ロゴプログラムをいれる余地はなく、ファイル0のプログラムをプリセットすることで実現しています。

・・・その結果、いま保存しているファイルが消えることになる��で注意!
2周年特別ファームウェア(IchigoJam ver 1.2 beta 14 / 2th anniversary edition)のダウンロードは、Facebookグループ「IchigoJam-FAN」からどうぞ!

こどもたちにプログラミングの楽しさ伝える「プログラミング クラブ ネットワーク PCN」は、福井、仙台、三重、金沢、モンゴル、大阪、山口と拡大中!
電子立国発祥の地、秋葉原に「PCNフラッグシップ秋葉原byASSEMBLAGE | PCN プログラミング クラブ ネットワーク」もオープン!

2歳になったこどもパソコンIchigoJam、今後ともよろしくおねがいします!

2周年記念リンク
- IchigoJam誕生2周年記念 イチゴガリ3 | MASAHARUの魂のプログラム
- paprika | PCN プログラミング クラブ ネットワーク2015.4.1発表
- ドロ四空| PCN プログラミング クラブ ネットワーク(今度は空だ!)
- PCNフラッグシップ秋葉原byASSEMBLAGE | PCN プログラミング クラブ ネットワーク(4/1オープン!)
- PCNパリオクラブ | PCN プログラミング クラブ ネットワーク(福井パリオにて、5/14開講)
- 野生獣捕獲装置 亥(とざす)| PCN プログラミング クラブ ネットワーク(イノシシシシステムの製品版、ついに発売開始!)
- こどもモーターボード MapleSyrup(4/25発売予定)
- こどもネットワークボード MixJuice(4/25発売予定)
- PanCake プチコン3号Edition(4/25発売)
- PanCake×PAC-MAN コラボ(PanCake x PAC-MAN コラボ決定!)
- ひかりTVショッピング:IchigoJam Get Started Set U | ひかりTVショッピング

links
- 2014年 目指すはMSX! Raspberry Pi より安価な IchigoJam 発表!
- 2015年 創る人を創ろう! Pepper より安価な こどもロボットPaprika 発表!(Kids Robot paprika)
- 2016年 MSXになりたい「こどもパソコンIchigoJam」あの起動ロゴを搭載!(boot logo)
- 2017年 IchigoJam Zero the World's Lightest PC 0g 150yen for IchigoJam Things!
- 2018年 盲聾のこどもたちにもプログラミングを! 体で感じる体表点字、IchigoBrailleでブラインドプログラミング、IchigoJam 4th Birthday!

中心から渦巻状に素数にあたるところをマークしながら描くプログラムによる模様。

(素数の渦巻き on IchigoJam - 元ネタ:長野高専 伊藤翔一先生

長野高専にて講演「ICTネイティブ時代のサバイバル術 - Glass x IoT x OpenData」

時代の転換期、創造は最大の防御なり!ちょっとしたプログラム、0からでも始められます!
オープンデータ JavaScript アプリチュートリアル
長野県オープンデータなど、全国179箇所のオープンデータを見てピンときたら手を動かす!

数学好きなのにパソコン嫌いな学生にオススメしたい、こどもパソコンIchigoJam。
渦巻き模様は、IchigoJam BASICではこのように創れます。(電源オン、即入力、即実行!)

10 LET[0],0,-1,1,0,0,1,-1,0 20 CLS 30 X=32/2:Y=24/2:D=0:N=2:M=N/2 40 LC X,Y:?CHR$(1); 50 X=X+[D*2]:Y=Y+[D*2+1]:IF Y=22 END 60 M=M-1:IF M=0 D=(D+1)%4:N=N+1:M=N/2 70 WAIT:3:GOTO 40 RUN

続いて、素数判定プログラムはこちら

100 IF C<2 F=1:RETURN ELSE I=C-1 110 IF I=1 F=1:RETURN 120 IF C%I=0 F=0:RETURN 130 I=I-1:GOTO 110

Cに判定したい数値をいれ、GOSUBで呼び出し、Fの値で判定します。例えば、このように・・・

C=13:GOSUB100:?F 1 OK C=12:GOSUB100:?F 0 OK

2つのプログラムを組み合わせて、素数渦巻きをつくります。

35 C=1 65 C=C+1 40 GOSUB100:IF F=1 LC X,Y:?CHR$(1); RUN

素数を使った模様といえば、JavaScriptで2012年の一日一創「素数模様」もありました。 実は、素数は現代セキュリティを支える重要技術。「httpsが危ない!脅威の量子コンピュータ / 福野泰介の一日一創
高専プロコン創始者、堀内さん、事務局長で長野高専の鈴木先生、信州大学でオープンデータでもご一緒している不破さんとの長野懇親会。 「現代」を因数分解していくと見つかる数々のステキなストーリー、楽しく次世代につないでいきたいですね!


伊藤先生の部屋は宝の山!初めて見たMSX-FANの前身、プログラムポシェット!!
当時のマイコン少年と雑誌社の人との熱い記事の数々に感動!

帰路は北陸新幹線で3時間弱、長野はぐっと近くなりました!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS