プログラム一覧・ローダー


IchigoJam BASIC で EEPROM が扱えるようになり、

多くのプログラムを保存できるようになったのですが、

その時どのプログラムが何番なのか残しておくのを

どうするかが悩みの種でした。

ある人は紙に書いて、ある人はファイルに入れて、

自分は Google ドライブ の表計算で一覧にしていました。

でもこれを画面で表示できるようになったら……

 

そんな夢がついに実現したのです。

秘密は IchigoJam BASIC の I2C 制御対応。

EEPROM で使われていた仕組みを汎用性を持たせて、

様々なデバイスを操作できるようになりました。

EEPROM もプログラムに限らず
自由に読み書きが可能になりました。 

 


早速これを用いて一覧表示にしたのがこのプログラム。

一覧表示し、実行したいプログラム番号を入力するだけ。

1画面に表示しきれない時は単に enter (return) キーで続きを表示します。

プログラムとして表示する部分はそれぞれのプログラムの先頭行です。
' になってあればコメント文を表示し、それ以外は行番号を除いたプログラムを表示します。 

1 '(プログラム名) を加えておくのが良いでしょう。
一覧表示で文字化けする部分がある場合は NEW や 1 ' だけのプログラムにして

該当のプログラム番号を SAVE して下さい。数が多い場合は

 

NEW:FOR I=(開始番号) TO (終了番号):? I:SAVE I:NEXT

 

として簡単に初期化できます。(プログラムを削除する可能性がある事にご注意下さい)

 

福野さんがサンプルとして EEPROM のプログラム一覧表示を公開してくれたので、

こちらをベースとして自分が実行などの改良を加えています。

この元のプログラムをベースに IchigoJam BASIC には 1.0.0 beta 11 より FILES が含まれました。

 

IchigoJam、待望のファイル一覧表示! つつじマラソン&プログラミングスタートアップforキッズな日曜日 | 福野泰介の一日一創

 

注意: IchigoJam BASIC 1.0.1 からは EEPROM を含めたファイル一覧表示は FILES 0 とします。FILES では本体のみを表示します。

 

FILES は本体のプログラムも表示できる、プログラムに関係なく表示できるメリットがある一方で、

この「プログラム一覧・ローダー」はページ単位で表示できるメリットがあるため、公開を続けています。

 

IchigoJam BASIC 1.0.0 beta 3 以降と表記していますが、
IchigoJam BASIC 0.9.9 RC9〜RC10 も I2CR だったため使用できるかもしれません。

IchigoJam BASIC 0.9.9 RC11〜1.0.0 beta 2 では I2CR・I2CW が I2C になっていましたので、
現在公開されている版では使用できません。

 

0.9.9 RC11〜1.0.0 beta 2 対応版・最新版も使用可能 (Facebook グループ IchigoJam-FAN 内)

 

IchigoJam BASIC RPi は EEPROM が対応している IchigoJam BASIC RPi 1.2.5RPi・1.2b16RPi 以降で動作します。

(IchigoJam BASIC RPi 1.2.4RPi までは SD カードのみになっているため、EEPROM は使用不可)

I2CR コマンドで直接 EEPROM から読み込んでいるので、SD カードは対象ではありません。
下の項目 FILES 版は SD カードも表示できますので、IchigoJam BASIC RPi は FILES 版がおすすめです。

MixJuice ダウンロード ?"MJ GET kidspod.club/mj/625

MicJack ダウンロード ?"MJ GKP 625

 

EEPROM を交換する事がなければ 0 番に SAVE すると、ボタンを押しながら電源を入れて実行できるので便利です。

運営者は容量の異なる EEPROM を多数扱うため、100 番に SAVE していますが、

そのような場合は、10 LRUN 100 とだけ入れたプログラムを 0 番に SAVE しておくと便利です。

 

このプログラムを公開し、その後 FILES でも採用されてから、

IchigoJam BASIC プログラムの先頭行は ' プログラム名 で公開されるのが標準となりました。


FILES 版 IchigoJam BASIC 1.1.0〜

オリジナルとほぼ同じ動きで FILES を使用したバージョンです。

FILES を使用する事で EEPROM だけではなく、

IchigoJam 本体にあるファイルも一覧表示できます。

IchigoJam BASIC RPi では SD カードのファイルを一覧表示可能です。

また 1 文字ずつ出力するオリジナル版より高速に表示します。
ただし、IchigoJam BASIC 1.0.0〜1.0.1 では動作しませんので、

1.0 でも動作させたい場合は上のオリジナル版を使用して下さい。

 

IchigoJam BASIC RPi の SD カードで
同じ表示を実現できるように作成したものです。

そのため IchigoJam BASIC RPi 全バージョンで動作可能です。
(右画面は IchigoJam BASIC RPi での実行画面)

 

20 行の S と L が表示するプログラム番号の範囲です。
IchigoJam BASIC 1.2.3・1.2b55 および
IchigoJam BASIC RPi 1.2.4RPi・1.2b19RPi までは
0 を指定すると意図しない動作になります。範囲は 1〜227 となります。

IchigoJam BASIC 1.2.4・1.2b56 および
IchigoJam BASIC RPi 1.2.5RPi・1.2b20RPi より
IchigoJam BASIC の FILES 仕様が変わり、

0 も正常に動作するようになっています。範囲は 0〜227 となります。

旧バージョンで使用する可能性がある場合は 0 を範囲指定しないで下さい。

0 または 100 にプログラムを入れた前提で次のとおりです。

  • S=1:L=3 - IchigoJam BASIC 1.1.0〜 本体 / RPi SD カード内部
  • S=1:L=99 - IchigoJam BASIC 1.2.5RPi~ / 1.2b16RPi〜 SD カード内部
  • S=101:L=103 - EEPROM 32k
  • S=101:L=107 - EEPROM 64k
  • S=101:L=115 - EEPROM 128k
  • S=101:L=131 - EEPROM 256k
  • S=101:L=163 - EEPROM 512k
  • S=101:L=227 - EEPROM 1024k

IchigoJam BASIC では本体 0〜3 と EEPROM 100〜227 に分かれ、

EEPROM はサイズによって使用できるプログラム番号が変わってきます。

そのため、本体・SD カードは 0 番、EEPROM は 100 番に入れて
LRUN 0 または LRUN 100 で実行するのが良いでしょう。

MixJuice ダウンロード ?"MJ GET kidspod.club/mj/626

MicJack ダウンロード ?"MJ GKP 626


IchigoJam BIG・IchigoJam BASIC 1.2.2~ 版

MixJuice ダウンロード ?"MJ GET kidspod.club/mj/648

MicJack ダウンロード ?"MJ GKP 648

IchigoJam BIG の幅で表示できるように調整したバージョンです。

FILES では考慮されていないため、その対策として作りました。

 

IchigoJam BASIC 1.2.2 以降では

VIDEO 3 で同じ表示になるため、

これに対応し、1.2.2 以降で実行すると拡大表示で実行されます。

大きな文字で一覧表示したい時に便利です。
ただし VIDEO 3 のまま他のプログラムを実行しているので、

必要に応じて 165 VIDEO 1 を加えるなど、調整して下さい。