2026年8月31日月曜日

「珍妙な教育アイテム」と書かれた1,500円のこどもパソコン、11年後にソースをビルドしたら動きました

机に向かってBASICを打ち込んでいる私

2015年のおっさんが「これまた色々とそそられる珍妙な教育アイテム」と紹介していたのが、BASICで動くこどもパソコン IchigoJam でした。組み立てキットで1,500円。WindowsどころかLinuxも載っていません。電源を入れるといきなりBASICです。

記事の後半はほぼツッコミで構成されています。「これを『パソコン』と呼ぶ男気に脱帽」「いまどき BASIC を覚えたとして一体何の役に立つんでしょうか」「PS/2 キーボードなんてまだ手に入るんでしょうか?」。11年後にこれを読んだ私は、まず生死確認から始めました。結論、IchigoJam は生きています。それどころか品種が増えていました。

→ 元記事:「BASIC で動く教育用パソコン(?) IchigoJam」(tech.andhandworks.com)

完成品イメージ:レトロなモニタとキーボードでBASICが動く机まわり

ソースが公開されていたので、自分のPCでビルドしました

2015年にはできなかったことが、いま一つできます。IchigoJam BASIC のソースコードが GitHub で MIT ライセンス公開されているのです。しかも実機用ファームウェアだけでなく、パソコンのターミナルで動く console 版が同梱されていました。

git clone --depth=1 https://github.com/ichigojam/ichigojam-firm
cd ichigojam-firm/console
make

これだけです。gcc が1回走って、警告ゼロ、エラーゼロ、62KB の実行ファイル。依存パッケージのインストールも、環境変数も、Docker もありません。最近こんなに素直にビルドが通ったの、いつ以来か思い出せません。

IchigoJam BASIC 1.4 console by jig.jp
OK
10 FOR I=1 TO 3
20 PRINT "IOT ";I
30 NEXT
RUN
IOT 1
IOT 2
IOT 3
OK

行番号です。11年どころか45年ぶりくらいの手触りですが、ちゃんと動きました。

空っぽの状態で FREE() が 1024 でした

おっさんが「大人用パソコンより遥かにストイック」と書いた部分、数字で確かめられます。プログラム領域の残りを返す FREE() を何も打っていない状態で叩いた結果が1024。バイトです。キロバイトではありません。

試しに、左右キーで文字を動かすだけの6行を入れてみました。

10 CLS:X=15
20 LOCATE X,10:PRINT "A"
30 K=INKEY()
40 IF K=28 X=X-1
50 IF K=29 X=X+1
60 GOTO 20

これで FREE() が 924。ゲームの骨格ひとつが100バイトで、この調子ならあと9本ぶん入ります。おっさんが懐かしがっていた PC-6001 が「大容量16KB!」だったので、35年後のこどもパソコンはその16分の1で戦っている計算です。ストイックどころの話ではありません。

ただ、この上限そのものが教材になっているとも思いました。行を足すたびに残量が減るので、「動くけど無駄が多いコード」が物理的に許されません。私が普段書いている Python は、無駄でも動いてしまうので。

「PS/2キーボードなんてまだ手に入る?」の答え合わせ

元記事でいちばん切実だったのがこの疑問です。11年ぶんの答え合わせをしましょう。

まず解決しました。ファームウェア 1.5 系で USB キーボード対応が入り、基板も RISC-V チップ(GigaDevice の GD32VF103CBT6)を積んだ「IchigoJam R」になっています。ARM から RISC-V へ乗り換えているの、地味にすごい話です。

ただし旧モデル(U / S / T)はいまも PS/2 系のままで、公式サイトのキーボード欄には「『USB&PS/2 キーボード』と表記されているキーボードが利用可能です(USBのみ対応のキーボードは使用不可)」とあります。そしてその推奨品として公式が貼っているリンクの先が、バッファローの有線ゲーミングキーボード BSKBCG305BKでした。2026年時点で在庫あり、4,680円です。

本体キット1,500円に対して、キーボードが4,680円。「PS/2 なんてまだ手に入るのか」の答えが「ゲーミングモデルとして普通に売っています。ただし本体の3倍します」なのは、なかなか味わい深い結末でした。ちなみに公式が新型 R 用に貼っている USB キーボードのリンクのほうは、在庫切れです。生き残り方が逆転しています。

2026年の私が同じことをやるなら

2026年の選択肢を考えている私

まず、ハードを買う前に今日ビルドした console 版を先に触ります。0円で、gcc だけで、BASIC の手触りはほぼ全部わかりました。公式もブラウザで動く WebAssembly 版を用意しているので、「合わなかったら基板が余る」問題は2026年にはもう存在しません。

それでも実物が欲しくなったら、USB キーボードがそのまま挿さる IchigoJam R 一択。旧モデルの中古を安く拾うと周辺機器で逆転される、が今回の学びです。本体は Amazon にほぼ流通しておらず公式ストア(hello002.stores.jp)が入手経路で、Amazon で「IchigoJam」を検索して出てくるのは主に書籍です(『みんなのIchigoJam入門』1,535円あたりが入口)。

手を動かしたいだけなら Raspberry Pi Pico(1,098円)を1枚。IchigoJam BASIC を書き込んだ Pico を載せる「IchigoJam P」が公式にあるので、飽きても普通のマイコンとして余生を送れます。逃げ道のある部品から買うのは、11年ぶんの記事を読んで身についた癖です。

「BASIC覚えて何の役に立つ」への11年越しの回答

2025年1月実施ぶんから、大学入学共通テストに「情報Ⅰ」が入りました。国公立を受けるなら6教科8科目、プログラミングの問題が出ます。おっさんが「何の役に立つんでしょうか」と書いた10年後に、それは受験科目になりました。高校生の私には、もう他人事ではありません。

ただ、ここに最高のオチがあります。共通テストで使われるのは Python でも C でもなく、試験用に定められた擬似的な表記(通称 DNCL)です。特定の言語に依存させないための措置なのですが、要するに「教育用に、実務では使わない言語をわざわざ用意する」という選択を、国が2025年にやりました。2015年に BASIC を選んだ IchigoJam を、私は笑えません。

その IchigoJam 側も、2025年には福井大学との共同研究で「コンピュータの概念的理解に良い影響を与える可能性がある」という論文が出て、内閣府のスマートシティ指針文書(SCRA 第3版)にも載りました。珍妙な教育アイテムは、11年かけて公文書入りしています。

最後にもうひとつ。おっさんは PC-6001 で「N88 BASIC の本を見ながら」書いていたそうですが、PC-6001 は N60-BASIC、N88-BASIC は PC-8801 系で、両者は中間コードから非互換です。別の機種の本を見て、動かない行にぶつかりながら書いていたことになります。いまなら貼って5秒で「その命令はこの機種にありません」と言われて終わり。そこで数時間悩めたことのほうが、たぶん贅沢だったんだろうな、と思いました。

今回の用語メモ

  • BASIC:1964年生まれの初学者向け言語。行番号を打って書きます。IchigoJam BASIC はその子孫で、MIT ライセンスで公開されています。
  • PS/2:USB より前のキーボード・マウス用の接続規格。コネクタが USB 形でも中身が PS/2、という商品を選ぶ必要があります。
  • RISC-V:誰でも自由に実装できる命令セット。ARM と違ってライセンス料が要らず、教育用や低価格機で採用が進んでいます。
  • DNCL:共通テスト「情報Ⅰ」で使われるプログラム表記。実在の言語ではなく、試験専用の擬似言語です。

関連アイテム

0 件のコメント:

コメントを投稿