ソースが公開されていたので、自分の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年の私が同じことをやるなら
まず、ハードを買う前に今日ビルドした 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:共通テスト「情報Ⅰ」で使われるプログラム表記。実在の言語ではなく、試験専用の擬似言語です。
関連アイテム
- Freenove ESP32 開発ボードキット(Amazonで確認)
- 16MB USB-C Type-C RP2350 Development Board 基板 開発ボード for RPI…(Amazonで確認)
- Raspberry Pi Pico W(Amazonで確認)
0 件のコメント:
コメントを投稿