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

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


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

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


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

EEPROM容量SAVEで保存できる数
(プログラム番号)
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,AT24C512,AT24C1024B*
1024Kbit
(1Mbit)
128(100〜227)24FC1025,24LC1025

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


2.はんだ付け工作で外部記憶装置をつくろう

さっそく「IchigoJam外部記憶装置」EEPROM_IJH-003(TEAM IchiJam北海道 NEXTDAY特製)を、はんだ工作で製作しましょう。
製作テキストをPDFにまとめました。
https://nextday-kids.com/nextcloud/index.php/s/qYBxppzC9d8yFfp

部品表・組み立て手順をよくみてはんだ付けします。
部品の向きや位置に注意して組み立てていきます。
基板が完成したら、ただしく出来ているか確認をします。

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

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

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

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

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


3.FILES命令の使い方

プログラムエリアを見る命令は「FILES」です。
FILESと入力して実行すると、4つのプログラムエリアが表示されます。
最初の数字はプログラムエリアの番号で、その次に続く文字列にはプログラムの先頭行が表示されています。
文字列の表示が無いところは、プログラムは入っていないことを意味します。
下写真の例だと、0番と3番にはプログラムはありません。


「IchigoJam外部記憶装置」のプログラムは、100番以降に保存されます。したがって、プログラムを表示させるには、「FILES 100,110」のようにプログラム番号の範囲を指定して実行する必要があります。


すこし簡単に「FILES 110」と実行すれば、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 です

プログラムは100番にSAVE命令で保存しておきます。

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

まず本体のメモリエリアのファイル一覧を表示してくれます。

ENTERキーを押すと、100番以降のファイル一覧を1画面毎に表示してくれます。

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


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」の下に提供されています。