IchigoJam外部記憶装置(外部メモリ基板/EEPROM基板)

「IchigoJam外部記憶装置」とは、IchigoJam本体のCN5端子に繋げて使う小さな基板です。
「外部メモリ基板」や「EEPROM|E2PRIM(いーつーぴーろむ)基板」と呼ぶこともあります。
コンピュータの世界では、一般的に「補助記憶装置:wiki」と呼ばれており、「不揮発性メモリ:wiki」技術を使った補助記憶装置に分類されます。


1.プログラムエリアを増やす!!

IchigoJam本体には、プログラムを保存できる場所が4本分!しかありません(プログラムエリア SAVE 0 から SAVE 3 まで)。
しかし「IchigoJam外部記憶装置」があれば、最大128本分まで増やすことができます。
プログラムエリアの大きさは、EEPROM部品(IC)の種類によって決まります。
このテキストでは、24LC512(512Kbit)というICを使い、64本分のプログラムが保存できる「IchigoJam外部記憶装置」を製作します。
さらに、大量に保存したプログラムを簡単に扱うための、便利な管理プログラムも紹介します。


下記の表は、IchigoJamで使用できるEEPROM部品の例です。
1個100円から300円程で、パーツショップから購入することができます。

EEPROM容量保存数(プログラム番号)EEPROM(IC)型番の例
32Kbit4(100〜103)AT24C32C
64Kbit8(100〜107)24LC64,24FC64,
AT24C64B
128Kbit16(100〜115)24LC128,AT24C128
256Kbit32(100〜131)24LC256,24FC256,
AT24C256
512Kbit64(100〜163)24LC512,24FC512,A
T24C512,AT24C1024B*
1024Kbit(1Mbit)128(100〜227)24FC1025,24LC1025

*512Kbitのメモリ領域が2つ(合計で1Mbit)あり、切り替えて使うEEPROMです。
Ichigojamではプログラムエリアとしては半分の512Kbitしか使えませんが、残り512kbitはI2Cを使う事でデータエリアとして使用することはできます。



2.IchigoJam外部記憶装置をつくろう

TEAM IchiJamほっかいどう(NEXTDAY)製の外部記憶装置である、EEPROM_IJH-003の製作テキストを、つぎのPDFにまとめました。
https://nextday-kids.com/nextcloud/index.php/s/qYBxppzC9d8yFfp

組み立て手順をよく見て、部品の向きや位置に注意してはんだ付けをしていきます。
基板が完成したら、ただしく出来ているか確認をします。
基板の向きに注意して、IchigoJam基板のCN5に取り付けます(上写真)。

  1. 部品の向きや位置が、組み立て図どおりになっているか?
  2. ブリッジやイモはんだ等の不良はんだがないか?
  3. IchigoJam基板のCN5に正しい向きに取り付けられているか?
  4. IchigoJamの電源を入れて、正しく起動するか?
  5. キーボードからの文字入力が、きちんとできるか?
  6. LOAD100 とキーボードから入力して、Loaded 0byte OK と表示されるか?

もし、電源を入れてもIchigoJamが起動しなければ、すぐに電源を切ります。
場合によっては、テスターなどで回路図と見比べて基板を調べます。
IchigoJamが起動しても、「Files error」 と表示されたり、なにも表示されなければ、1,2、3を再確認します。
とくに、1、2は正しいと思い込むことが多いのです。
実際に、講座でもスタッフがOKと判断しても、ただしく動作しないことがありました。
回路図と実際の基板を比較して、よく確認することは、完成への早道です。

基板には、スイッチが二種類あります

・J2 スライドスイッチ:基板の上面を向いているスイッチ
 使用するEEPROM種類が1025Kbitか、512Kbit以下で切り替えます。
 今回の基板では512Kbit側にします。

・J3 スライドスイッチ:基板の横面を向いているスイッチ
 プログラムの書き込み禁止:WP:にするか、書き込み許可:WE:にするかを切り替えます。
 通常はWE:書き込み許可にします。


3.FILES命令の使い方

プログラムエリアを見る命令は「FILES」です。
FILESと入力して実行すると、4つのプログラムファイルを表示します。
最初の数字は、プログラム番号です。
その次に続く文字列には、プログラムの先頭行が表示されます。
文字列の表示が無いプログラム番号には、プログラムが入っていないことを意味します。

この写真の例だと、1番と2番にプログラムがあり、0番と3番にはプログラムはありません。


「IchigoJam外部記憶装置」は、プログラムが100番以降に保存されます。
そのためプログラムエリアを表示するには、「FILES 100,110」のように、プログラム番号を指定する必要があります。


「FILES110」と実行すれば、0番から110番までのプログラムエリアを表示します。ちょっと楽ですね。


「FILES0」は、「IchigoJam外部記憶装置」も含めた、全のプログラムエリアを表示します。
ただし、プログラムエリアは1画面では表示しきれませんので、画面が流れて行きます。
そこでESCキーを押せば、途中で画面を止めることができます。


現在のIchigoJamバージョン(1.4.3)のFILES命令では、常にプログラムが227番まであるこが前提に作られている様です。
したがって、「IchigoJam外部記憶装置」を繋げていなかったり、1024kbit以外のEEPROMでは、おかしな表示になることがあります。
プログラムが無い表示でもプログラムを読み込もうとするとエラーになるのです。

FILES命令については、IchigoJam BASIC コマンド一覧も参考にしてください。


4.LOAD/SAVE/LRUN命令の使い方

「IchigoJam外部記憶装置」にあるプログラムのLOAD、SAVEも、使い方は同じです。

LOAD {数} プログラムエリア{数}番のプログラムを読み出す
SAVE {数} プログラムエリア{数}番に現在のプログラムを保存する
LRUN {数1{,数2}} {数1}番のプログラムを読み出した後、そのまま実行RUNする
         しかも、{数2}を指定すると、実行開始して数2の行番号から実行します


5.ファイル一覧表示プログラム

保存したプログラムのすべてを見たい時は「FILES 0,163」と実行すればよいのですが、プログラムが増えてくると、画面が流れてしまい探すのが大変です。
そこで、ファイル一覧を1画面毎に停止表示させるIchigoJamプログラムを紹介します。
ENTERキーを押すことで次の一覧画面を表示し、目的のプログラムを見つけたら、プログラム番号を入力することで、すぐ実行することもできます。
このプログラムは、福野氏の「ファイル一覧表示プログラム」を改良して作成しました。

10 ‘Program LIST/Loader2(FILES)
20 VIDEO1:S=0:L=3:IF VER()>15000 L=14
30 FOR J=S TO L
40 FILES J,J
50 IF (J-S)%23!=22 && J!=L GOTO 100
60 ?”RUN(“;S;”~”;L;”),MORE”;
70 INPUT N:IF !N GOTO 100
80 POKE #FFE,N:CLP:CLT:CLV
90 LRUN PEEK(#FFE)
100 NEXT
110 IF L<100 S=100:L=163:GOTO30
120 RUN


※110行目の L=163 は、使用するEEPROMの容量に合わせて変更してください。
32kbit品は、L=103
64kbit品は、L=107
128kbit品は、L=115
256kbit品は、L=131
512kbit品は、L=163
1024kbit品は、L=227 です

プログラムを実行すると、IchigoJam本体のプログラムファイル一覧を表示します。

ENTERキーを押すと、100番以降のプログラムファイル一覧を、1画面毎に表示します。

どこの画面でも、目的のプログラム番号を入力すれば、すぐ実行できるというしくみです。


ファイル一覧表示プログラムの便利な使い方を伝授しましょう。
このプログラムを100番にSAVEします。

「IchigoJam外部記憶装置」をIchigoJamに繋げたとき、LRUN 100 を実行します。


どのEEPROMにも、100番に保存しておけば、たとえば、お友達のIchigoJamに繋げた時や、EEPROM容量が違っても、管理が楽になるのです。


6.「IchigoJam外部記憶装置」の入手方法

EEPROM_IJH-003は、「TEAM Ichigojam ほっかいどう」の工作教室用に配布しているので、一般販売は行っていません。
自作することもできますが、通販サイトなどからも各社の製品を入手することができます(2025/5現在)。

作り方や使い方は、このテキストをほぼ同じですが、キットによって若干部品が違ったり、IC(EEPROM)が別売りだったりしますので、注意してください。
また、在庫がない場合もあるかもしれません。
商品についての詳細は、各ショップに問い合わせてください。

・aitendo EEPROMキット [K-Jam.rom]
 https://www.aitendo.com/product/12075
・秋月電子通商 IchigoJam用外部記憶装置キット IchigoROM
 https://akizukidenshi.com/catalog/g/g112061/
・共立電子 IchigoJam ROMカセット
 https://eleshop.jp/shop/g/g402326/
・Five-Ten IchigoROM(プログラム保存用ROMカートリッジ)キット
 https://fiveten.theshop.jp/items/22399370


上記のショップ以外にも、EEPROM部品(IC部品)は下記で購入することができます。
商品カテゴリーは、「I2C シリアルEEPROM DIP8」などをキーワードとして検索し、容量が32kbitから1024kbit品を選びましょう。

  • マルツオンライン 24LC256-I/P マイクロチップ製
    https://www.marutsu.co.jp/pc/i/1826833/
  • RSコンポーネンツ 
    24LC256-I/P
    https://jp.rs-online.com/web/p/eeprom/0454371

    24LC512-I/P
    https://jp.rs-online.com/web/p/eeprom/0454191

※Ichigojam外部記憶装置については「イチゴジャムレシピ」も参考になります!


この教材は「Creative Commons — CC BY-SA 4.0」の下に提供されています。