IchigoJam BASIC に関する Q&A

ここでは IchigoJam BASIC(IchigoJam 付属ファームウェア)に関連する Q&A をまとめています。

このページでの ファームウェア や バージョン はすべて IchigoJam BASIC に関しての事となります。

IchigoJam BASIC に限らない Q&A は IchigoJam/Q&A にあります。


IchigoJam BASIC を新しいバージョンにするために新しい IchigoJam を購入する必要がありますか?

いいえ。 IchigoJam BASIC のファームウェアは更新可能です。

新しいバージョンを使用するために、必ずしも新しい IchigoJam を購入する必要はありません。

 

USB-シリアルモジュールとジャンパワイヤを用いてパソコン経由で更新を行います。

次のページで USB-シリアルモジュールと更新方法を紹介しています。

 

周辺機器/パソコンと接続 | イチゴジャム レシピ

 

完成品・ハーフキットを除く IchigoJam は CPU を外して交換する事が可能です。

これを用いて空の CPU にファームウェアを入れる事で交換して複数のファームウェアを使用可能です。

 

この方法で IchigoLatte も使用できますし、PanCake も更新可能です。

 

ファームウェアの更新が困難な場合は PCN でバージョンアップサービスを行っています。

 

PRODUCTS | PCN -「IchigoJam バージョンアップサービス」があります。

 

東京・秋葉原 の Assemblage(2016年4月より PCN 母艦店になりました)でも行っています。
更新したい IchigoJam と費用 150 円を持って行って下さい。

 

PCN フラッグシップ秋葉原 BY ASSEMBLAGE | PCN

 

IchigoJam BASIC 1.5 より RISC-V プロセッサの IchigoJam シリーズになりました。

(IchigoJam R、GIGA IchigoDake など)

IchigoJam Q・S・T・U・初代プリント基板 で採用されていた LPC1114 プロセッサは

IchigoJam BASIC 1.4 が最新となります。
LPC1114 そのものの入手が困難になってきている事や
新機能を追加できる空き容量もほとんどないため、1.4 系の提供を維持する可能性があります。


ファームウェアなどのファイルはどこで公開されていますか?

正式版の IchigoJam BASIC ファームウェアは、公式サイト 内でいくつかのバージョンが公開されています。

これは製品の IchigoJam に含まれるファームウェアも同等です。

 

ダウンロード | IchigoJam 公式サイト

 

これ以外に開発版が Facebook グループ IchigoJam-FAN で公開される場合があります。

開発者 福野 さんが直接公開しています。新しもの好きはここを確認して下さい。

ただし、不具合が発生する可能性が高く、ファームウェアを短期間で更新できる場合前提です。


IchigoJam-FAN 内 | Facebook グループ

 

1.2b56 より GitHub がダウンロード先になっています。 

 

IchigoJam/IchigoJam.github.io | GitHub


ファームウェアは最新版にしておくのが良いですか?

基本的に公式公開された最新版の方がコマンドが増えていて使い勝手が良く、処理速度も速くなっています。

通常は公式サイトで公開されている正式版の最新版にして下さい。

数ヶ月に一度ファームウェアを更新するようになります。

 

ベータ版も公開されていますが、この場合は短期間で更新される場合もあります。

また、一部のバージョンは特定用途を目的としたバージョンで公開されている場合があります。

情報を得ずにベータ最新版へ更新すると意図しない動作をする場合がありますので、
必ず最新情報を確認の上で適切なバージョンをダウンロードして下さい。
ベータ版の最新情報は次のところで公開されています。

 

Facebook グループ IchigoJam-FAN

福野泰介の一日一創

 

IchigoJam R や GIGA IchigoDake などの RISC-V プロセッサは IchigoJam BASIC 1.5 以降が有効です。
IchigoJam Q・S・T・U・初代プリント基板 などの LPC1114 プロセッサは IchigoJam BASIC 1.4 系が最新です。


ファームウェアの更新履歴はありますか?

福野さんがファームウェアを公開した時の内容と実際に使用した確認内容、利用者からの情報などを元に

運営者が独自に履歴をまとめています。

 

IchigoJam-BASIC/バージョン履歴 IchigoJam BASIC.txt | GitHub

 

IchigoCake BASIC・IchigoJam BASIC RPi・IchigoJam PC は別途開発され、
IchigoJam BASIC とは異なるバージョン・対応状況になっているため、別ファイルにしてあります。

 

IchigoJam-BASIC/バージョン履歴 IchigoCake BASIC.txt | GitHub

IchigoJam-BASIC/バージョン履歴 IchigoJam BASIC RPi.txt | GitHub

IchigoJam-BASIC/バージョン履歴 IchigoJam PC.txt | GitHub

 

これらの多くは Facebook グループ IchigmJam-FAN で公開されていましたが、

Facebook の仕組みが変わり、過去の投稿が見れないため、古いバージョンは確認困難になっています。


動作確認のため、IchigoJam BASIC の古いバージョンをダウンロードしたいのですが、公開されていますか?

IchigoJam BASIC 1.0.1、1.1.1、1.2.3、1.3.1 および 1.4 系は公式サイトからダウンロードできます。

これらは正式版として IchigoJam 実機に入っていたバージョンです。

 

ダウンロード | IchigoJam 公式サイト

 

IchigoJam BASIC 0.9.6 以前(正式版は IchigoJam BASIC 0.9.3 以前)、

および中間に存在した RC・Beta 版は、

当初 Facebook グループ IchigoJam-FAN で配布されていました。

IchigoJam BASIC 0.7~1.2b55 は、一部正式版を除きここからダウンロード可能です。

 

Facebook グループ IchigoJam-FAN 内

 

IchigoJam BASIC 1.2b56 以降は GitHub で公開されています。

 

IchigoJam/IchigoJam.github.io | GitHub

 

IchigoJam R・GIGA IchigoDake などの RISC-V プロセッサは IchigoJam BASIC 1.5 以降が有効です。

Osre以前の IchigoJam BASIC はインストールできません。


古いバージョンはプリント基板も古い IchigoJam で動作させる必要がありますか? 現在発売されている IchigoJam でも動作できますか?

古いバージョンの IchigoJam BASIC は

LPC1114 プロセッサが採用されている IchigoJam や IchigoJam 互換機に入れて動作可能です。
公式販売では IchigoJam S、(GIGA が付いていない)IchigoDake などになります。
IchigoJam 互換機も多く存在します。

 

パーツの違いは IchigoJam 初代プリント基板で

12MHz の外部クリスタル(水晶発振子)と関連するコンデンサが存在していないだけです。

(他に直接関係ないところでは CN5 端子が存在しません)

 

IchigoJam R、GIGA IchigoDake などは RISC-V プロセッサに変更されたため、

IchigoJam BASIC 1.5 以降をインストールして使用できます。古いバージョンは入れる事ができません。


ファームウェアのソースは公開されていますか?

一切公開されていません。ライセンス購入しても提供される事はありません。

 

ファームウェアは LPC1114 または RISC-V に直接入れるバイナリーのみ一般公開され、

「転載禁止・個人利用のみ可」と明示されています。


新しい IchigoJam・互換機 を入手しましたが、従来のプログラムは動作しますか?

IchigoJam S、IchigoJam T、IchigoJam U、 IchigoJam 初代プリント基板、
および IchigoJam 互換機はパーツの構成が異なりますが、
同等のファームウェアが入っています。そのため BASIC はそのまま使用可能です。

ただし IchigoDake は 2018年4月 以降 DakeJacket 対応版が含まれ、一部動作が異なります。

 

IchigoJam R、GIGA IchigoDake などはプロセッサが RISC-V に変更されていますが、

BASIC レベルでは従来の機能を維持じているため、従来のプログラムも動作可能です。

ただし処理速度がかなり高速になったため、一部のプログラムは速すぎて問題があるかもしれません。

これはすでに IchigopJam BASIC RPi と共通です。(IchigoJam BASIC RPi よりは遅いです)

 

IchigoJam U は発売開始当時のファームウェアが IchigoJam BASIC 1.0.1 となります。

(発売数日間だけ IchigoJam BASIC 1.0.0 で提供されていました)

IchigoJam BASIC 0.9.7 以前向けのプログラムは画面サイズなどの違いで、

そのままでは正常に動作しない事がある事にご注意下さい。

 

IchigoJam T は発売開始当時のファームウェアが IchigoJam BASIC 1.2.1 となります。

IchigoJam BASIC 1.0 以降を使用していた場合、多く修正は発生しません。

PCN 販売では jig.jp の公開に応じて順次更新されています。

販売店では仕入れ段階のバージョンから更新されておらず、古い可能性があります。

 

IchigoJam S は発売開始当時のファームウェアが IchigoJam BASIC 1.2.3 となります。

 

IchigoJam Q は発売開始当時のファームウェアが IchigoJam BASIC 1.4.3 となります。

 

他所で発売されている IchigoJam 互換機はそれぞれのページなどでご確認下さい。

 

IchigoJam R および Raspberry Pi で動作する IchigoJam BASIC RPi は高速になっているため、

特にゲームなどはまともに操作できない状態になる場合があります。WAIT などで調整が必要です。


以前の IchigoJam プリント基板を所有していますが、ファームウェアを更新して使用できますか?

はい。例えば右写真の IchigoJam 初代プリント基板でも

最新の IchigoJam BASIC へ更新して使用する事ができます。

IchigoJam U・IchigoJam T・IchigoJam S・IchigoDake、

および IchigoJam 互換機 ももちろん可能です。

 

IchigoJam BASIC は 1.1 より外部クリスタルを自動判別するようになったため、

後に 外部クリスタル を入手して付けた場合、

特に特別な作業を行わずに使用するようになります。

また、外した場合でも動作しなくなる心配が要らなくなりました。

(1.0.1 以前は専用のファームウェアへ更新する必要がありました)

IchigoJam 以外のファームウェアへ更新する場合は

外部クリスタル必須なので、Ichigojam 初代プリント基板・ブレッドボードと

一部の IchigoJam 互換機からの更新はクリスタルを用意する必要があります。


LPC1114・RISC-V が搭載されているボードにファームウェアを入れて IchigoJam BASIC が動作しますか?

IchigoJam BASIC については、実際ボードにファームウェアを入れ、シリアル接続で動作が行えた報告を何件か確認しています。

 

しかし、どのボードでも動作する事を保証するものではありません。

ボードによっては LPC1114 の端子が全て出力されていないため、

IchigoJam の全入出力を行えない可能性がありますので、ご注意下さい。

 

RISC-V(GD32VF103CBT6)も同様に動作可能である事が確認されています。

実際にIchigoJam 利用者により搭載ボードを用いた自作機も制作・公開されています。

 

SanadaJam-RL | SHIROのIchigoJam日記


電源を入れたのですが IchigoJam 本体のランプが付いていません。

IchigoJam 初代プリント基板、IchigoJam U、IchigoJam T、IchigoJam S、IchigoJam R、IchigoJam Q および ブレッドボード など

LED が 1 つしか付いていない IchigoJam では本体ランプが付いていない状態で正常です。

LED コマンドで点灯・消灯できます。LED 1、LED 0 としてみて下さい。

厳密には、電源を入れた直後に一瞬ランプが点灯し、すぐ消灯します。

 

IchigoJam 互換機の一部では基板に 2 つ以上の LED が付いているものがあり、

こちらは電源連動の LED になっていて、電源を入れると LED が点灯します。

 

LED 1 をしても点灯しない場合は問題があります。

  • 半田付けして組み立てた場合は、単に半田付け不足で通電していない可能性があります。
    今一度 LED 2 ヶ所の半田付けを行なってみて下さい。
  • 逆に付けてしまった可能性があります。外して逆に取り付けなおします。
  • ランプが壊れているかもしれません。電子工作系のパーツショップで売られています。
    通常 IchigoJam 初代プリント基板・IchigoJam U は 3mm、IchigoJam T・IchigoJam S は 5mm のランプを使用します。

ファームウェアの更新を行ってから、電源を入れても動作しません。IchigoJam の本体ランプが付いています。

xtal の付いたファームウェアを更新しているのに、クリスタル(水晶発振子)を付けていない、または誤って付けている場合に

LED ランプが点灯したままになり、起動しない事が分かっています。

クリスタルを付けて使用し、複数台 IchigoJam を所有している場合はこのケースにご注意下さい。

まれにクリスタルが壊れている場合も LED ランプが点灯します。または画面が乱れる事があります。

 

IchigoJam S・IchigoJam T・IchigoJam U や IchigoJam 互換機の多くは

クリスタルが基板に付いているため、この問題は通常発生する事はありません。

また、IchigoJam BASIC 1.0.2 (正式版 1.1.1)より、
クリスタルの有無を自動判別するようになったため、このような問題は通常発生しません。

RISC-V プロセッサの IchigoJam R は異なるクリスタルになります。これも基板に付いています。 

 

LPC1114 のファームウェア書き込みを正常に終わらせながら起動に失敗するケースは少ないようで、
多くの場合は ISP モードに入っていなかったり、端子を誤っていた、
FlashMagic などとは別にターミナルソフトも起動されていたなど、初歩的な問題で失敗している事が多いです。


上部分がおかしく表示され、全体的に下にずれます。

PanCake・IchigoJam を1画面で表示できる状態にし、

PanCake 側のビデオ出力端子に接続を行った際、

一部環境で IchigoJam の表示が
この状態になる事を運営者が確認しています。

PanCake の表示は正常です。

 

IchigoJam 側のビデオ出力端子だと正常に表示されますので、

IchigoJam 側へ接続してご利用下さい。

 

この状態は PanCake 以外にも

ビデオ信号をジャンパワイヤで伸ばした場合など、

ビデオ信号が弱くなると、

経由する抵抗などの影響によって発生するとの事です。


画面が左右に振れます。

IchigoJam の同期と機器との相性によって
ブレが発生する場合があります。

他にも接続できる環境があれば試してみて下さい。

ビデオなどを用いていたら、
それを経由して接続する方法もあります。

 

運営者が試したところでは、
Easycap という名前の安値ビデオキャプチャで
数ドット分大きく左右に振れていましたが、

クリスタル を付ける事で改善する事ができています。

(クリスタルについては 周辺機器/その他 周辺機器 を参照して下さい)

ただし、この製品はいくつかの業者が作成していて、
いくつか種類があり、中の回路構成が全く異なる場合があります。

更にビューアーを表示させる環境によって変化もあるため、全てで発生するとは限りません。

 

また、USB キーボードに PS/2 の変換コネクタを付けている場合、

キーボードに付属しているコネクタでない場合にブレが発生している報告があります。


どのテレビ・モニタに接続しても表示がおかしくなります。

まれに組み立てた IchigoJam で次のような状態が発生する場合があります。

  • 文字表示が通常表示とは別に数ドットずれて薄く表示される
  • 起動してから数秒が表示が安定しない
  • 環境により、よく縦スクロールが発生する

これは、12MHz の水晶発振子(クリスタル)が異常動作をしている時に発生します。

可能な場合は 12.000 記載にあるパーツを外してみて改善するか確認してみて下さい。

最新版の IchigoJam BASIC では外した状態でも使用できますが(LPC1114 の内部クロックで動作します)

必要な場合は新たな水晶発振子を入手し半田付けして下さい。


VIDEO 5~8 でずれる行が発生します。

LPC1114 を用いた IchigoJam BASIC では

VIDEO 5~8 を使用した時に発生する場合があります。

 

一定間隔で左右でぶれたり、

右にずれた状態になる行が発生する場合があります。(右画像)

カーソルがある行がその対象で、

INPUT などのカーソル表示時にその行が左右へぶれます。

回避方法として LOCALE(LC)を用いて

カーソルを表示しない行へ移動する手段があります。

カーソルを非表示にする LOCALE 0,-1(LC 0,-1)も有効です。

 

また、左右に震えるような表示になる場合があります。

常に PRINT をし続けている場合に発生しますので、

画面の変化がない場合は表示しないようにして下さい。

 

IchigoJam BASIC RPi や IchigoJam web では発生しません。


キーボードのランプが点灯しません。

LPC1114 動作の IchigoJam BASIC では

Num Lock・Caps Lock・Scroll Lock のランプは通常消灯の状態です。
IchigoJam の電源を入れた時に一時だけ点灯する状態になれば正常に動作しています。

キーボードが正常に使えるかどうかは実際に入力して確認して下さい。

 

IchigoJam BASIC RPi は Num Lock のオン・オフが動作します。Num Lock のランプも連動して点灯・消灯します。


US 配列のキーボードを接続しましたが、JIS 配列になっています。

IchigoJam が届いた時は JIS 配列になっている状況です。

ファームウェアの更新で US 対応版にする事ができます。IchigoJam BASIC 0.8.9 から対応です。

ichigojam-x.x.x.zip ファイルを解凍した中の us を含むファイルが US 配列版です。

 

IchigoJam Get Starter Kit では US 配列のキーボードが付属するため、

US キーボード版のファームウェアを入れてあります。

また海外向け販売も場合も US キーボード版になっています。

 

BASIC 1.4 系より、プログラムでキーボード配列を変更可能になっています。

 

IchigoCake BASIC、RISC-V 搭載の IchigoJam R や GIGA IchigoDake、
Raspberry Pi で動作する IchigoJam BASIC RPi は KBD コマンドで変更可能です。


公開されているプログラムで先頭にプログラム名が入っているのは理由があるのですか?

IchigoJam BASIC 1.0.0 より

IchigoJam 本体 および EEPROM 内の

プログラムを一覧するコマンド FILES が使えます。

この FILES はプログラムの先頭を表示する仕組みです。

先頭行が 10 として 10 '(プログラム名) とする事で

 '(プログラム名) 部分が FILES で表示されます。

 

この仕様により、IchigoJam BASIC 1.0.0 以降向けで
公開されている IchigoJam のプログラムには

先頭行は '(プログラム名) とするのが常識となりつつあります。

 

ちなみに プログラム一覧・ローダー は FILES 採用前から公開しているプログラムで、

同じように先頭行を表示する仕様にしてあります。これが FILES の仕様に影響を与えているようです。


同じキャラクターが 2 個所に存在します。

IchigoJam BASIC 0.9.7 以前では CHR$(31) 以前にあったキャラクターのうち、

いくつかのキャラクターは IchigoJam BASIC 0.9.8(正式版 IchigoJam BASIC 1.0.0)以降

重なって存在しているところがあります。

これは PRINT CHR$ では 31 までのところにコントロールコードを採用するよう変更したため、

PRINT CHR$ ではもう一方のコードで出力させる必要が発生しているためです。

ここにキャラクターが残っている部分も 5〜31 は後に PRINT CHR$ で表示できなくなる可能性があります。

POKE では 31 以前でキャラクターを表示する事ができます。

 

IchigoJam BASIC 1.2 では 31 以前のキャラクターが変更されました。

これは一部 PRINT CHR$ で表示できますが、基本的には POKE を使用します。


キーボード入力・EEPROM アクセス時にチラツキが発生します。

キーボード入力や EEPROM をアクセスするタイミングで一時的に画面出力を停止する影響で発生しています。

バージョンアップで少しは改善されていますが、最新開発版でも完全になくなりません。
またこれはクリスタルの有無に関係なく生じますので、クリスタルを付けても改善しません。

 

これは LPC1114 の IchigoJam BASIC に限られます。

IchigoJam BASIC RPi や IchigoJam ap・IchigoJam web などはこのチラツキは発生しません。


表示の一部が画面からはみ出しています。

ブラウン管テレビに IchigoJam を表示させている場合に発生する事があります。
特に IchigoJam BASIC 0.9.4 以降で左が1文字位はみ出す事があるようです。

IchigoJam BASIC 0.9.3 以前は右側がはみ出している場合もあります。

 

IchigoJam BASIC 0.9.9 からはこの対策として表示数を減らして上下左右の余白を作っています。

そのため、IchigoJam BASIC 0.9.9 からはこのような問題の報告はありません。

正式版は IchigoJam BASIC 1.0.0 からとなります。


起動時から上書きモードで使用したいです。

IchigoJam BASIC 1.1 より PRINT CHR$(17) で挿入モードと上書きモードを切り替える事ができます。

これをプログラム番号 0 に入れておき、IchigoJam 本体のボタンを押しながら電源を入れる方法があります。


ターミナル・シリアル制御で LOCATE や CLS で記号が表示されるのですが、不具合ですか?

IchigoJam BASIC 1.1 より LOCATE・CLS・SCROLL は

IchigoJam からコントロールコードを送出する仕様になっています。

これは VT-100 などとは互換性のない IchigoJam 独自のコードです。

 

汎用のターミナルソフトを使用する代わりに IchigoJam 向けのソフトをご利用下さい。

こちらで対応されているモニタ機能を使用する事で、

IchigoJam のビデオ出力画面に近い表示をある程度再現する事ができます。

 

汎用のターミナルソフトを使用する場合、IchigoJam と何かシリアル信号で制御したい場合は
次のコードをプログラムの頭に加えて下さい。UART 1 の代わりに UART 3 も使用できます。

 

IF VER()>11000 UART1

 

これで IchigoJam BASIC 1.1 以降でも IchigoJam BASIC 1.0 以前と同じようにテキストのみを出力するようになります。

IF VER()>11000 UART1

 

これで IchigoJam BASIC 1.1 以降でも IchigoJam BASIC 1.0 以前と同じようにテキストのみを出力するようになります。


行番号ではなく、ラベル付でプログラムを作成できませんか?

IchigoJam BASIC 1.2 beta 8(正式版 IchigoJam BASIC 1.2.0)よりラベルに正式対応しています。

 

また、斎藤史郎さん が Windows 向けの行番号付け・ラベル変換ツール Spoon を公開しています。

 

Spoon 検索結果 | SHIROのIchigoJam日記

 

Spoon はプログラムの変換しか行いません。
別途ターミナルソフトや転送プログラムを用いて IchigoJam へ転送して下さい。


プログラムを入れたところ「Out of memory」と表示されました

メモリの空き容量がなくなりました。

一つのプログラムで使用できる容量は 1K バイト(1022 バイト または 1024 バイト)です。

これは1行を30文字としておよそ34行=およそ1.3画面分、

1行を20文字としておよそ51行=およそ2画面分となります。

少し長いプログラムを作ると、すぐに容量がなくなります。

 

?FREE() とすると残りの空き容量を参照する事ができます。

 

省略表記にして、容量を節約する事ができます。

LOCATE→LC、PRINT→? などがよく使われます。

しかしこれで効果があるのは 1 命令で数バイトです。

 

プログラム中に LRUN (プログラム番号) を含める事ができるため、

(IchigoJam BASIC 1.0.0 より行番号も指定できます)

これを用いて、長いプログラムにする事は可能です。
IchigoJam BASIC 0.9.4 からは変数・配列を初期化しないため、

変数・配列の状態を別のプログラムへ引き継ぐ事ができるようになっています。

IchigoJam BASIC 0.9.3 以前にも対応したい場合は、変数の値を文字で表示させ、

引き継いだ先のプログラムで VPEEK・SCR で読み込む方法があります。


入力したプログラムは消えてしまうのですか?

IchigoJam 本体に保存できます。SAVE プログラム番号 で保存し、LOAD プログラム番号 で読み出せます。

IchigoJam BASIC 0.9.9 までで 0〜2 の 3 プログラム、IchigoJam BASIC 1.0.0 から 0〜3 の 4 プログラム保存可能です。

ただし IoT 版は 0 の 1 プログラムのみです。

RISC-V を搭載した IchigoJam R・GIGA IchigoDake より 0~14 の 15 プログラム、
IchigoCake BASIC は 0~5 の 6 プログラム、

IchigoJam BASIC RPi は 0~3・100~227 または 0~99 で SD カードへプログラム保存できます。

 

より多くのプログラムを扱いたい場合は、パソコンとシリアル接続して転送し、パソコン側で管理します。

 

また IchigoJam BASIC 0.9.3 より EEPROM に対応し、

1MB の EEPROM で IchigoJam BASIC 0.9.8 以前は 127 プログラム、

IchigoJam BASIC 0.9.9 より 128 プログラムの保存に対応しています。IchigoCake BASIC は最大 32 プログラムです。

 

上記の保存を行わずにリセットや電源断を行った場合、プログラムは消去されます。

 

IchigoJam BASIC RPi は files/ フォルダ内にファイル保存されます。

SD カードからファイルでプログラムを送受可能です。

1.2.4RPi・1.2b15RPi までは 0~3 および 100~227、

1.2.5RPi・1.2b16RPi より 0~99 が SD カード(100~227 は EEPROM)へのプログラム保存となっています。

 

IchigoJam web はローカルストレージ、IchigoJam ap はファイル保存されます。0~3・100~227 が有効です。

 

IchigoJam PC は保存されません。電源を切ると消えます。


プログラムを実行したところ、動きがおかしくなっています

公開されているバージョンと異なる場合は正常に動作しない事があります。

特に次の仕様変更による影響が大きいです。

  • IchigoJam BASIC 0.9.7(開発版 IchigoJam BASIC 0.9.4)より
    プログラム実行時の変数・配列を初期化しなくなりました。
    CLV をプログラムの先頭に加えてみて下さい。
  • IchigoJam BASIC 1.0.0〜1.0.1(開発版 IchigoJam BASIC 0.9.9)より
    画面サイズが 32×24 文字に変更されました。
    そのため、従来の 36×27 文字前提で作成されたプログラムは調整しないと正常に表示できません。
  • IchigoJam BASIC 1.2.0〜1.2.1 (開発版 Ichigojam BASIC 1.2 beta 8) より
    キャラクターが変更されました。(特に 2〜31)
    そのため、この部分のキャラクターを用いている場合は表示がおかしくなる場合があります。
  • ファームウェアの更新と共に処理が高速化しています。
    そのため、古いプログラムは WAIT を入れないと処理が速すぎる場合があります。
  • IchigoJam BASIC RPi、RISC-V 搭載の IchigoJam R・GIGA IchigoDake は
    従来の IchigoJam よりかなり高速です。そのため、WAIT を入れる必要があるプログラムがあります。

それ以外にも不具合があったバージョンや仕様が変更になっているコマンドがあります。

 

明らかに IchigoJam のバグと思われる動作が確認された場合、
Facebook が使える場合は Facebook グループ IchigoJam-FAN へ投稿し、バグ報告するのが良いでしょう。

 

IchigoJam-FAN | Facebook グループ

 

多くの利用者が見ているため、動作確認を行い、早期に状況把握を行う事ができます。

それは困難な場合は、公式サイトのお問い合わせよりご連絡を行って下さい。

ただし IchigoJam BASIC 0.9.8 以降は RC・beta として開発を進めた後、
良いところで正式版公開をする形となっていますので、

正式公開として反映されるのは数ヶ月要する場合があります。


PLAY や BEEP を使用しても音が出ません

IchigoJam のプリント基板にはスピーカーが存在しません。

そのため圧電サウンダ(スピーカー)の取り付けが必要です。

右写真のパーツがその圧電サウンダです。コマンド PLAY や BEEP で音を発します。

 

IchigoJam の GND と SOUND(EX2)の端子ソケットに差し込んでご利用下さい。

 

周辺機器/その他 周辺機器 | イチゴジャム レシピ

 

2015年3月以降に IchigoJam や IchigoJam 互換機を購入している場合は

圧電サウンダが入っているか、基板に付いている事が多いです。
(ai.Jam など aitendo 発売の互換機は付いていない場合があります)

 

IchigoJam BASIC RPi は IchigoJam BASIC RPi 1.2b18RPi・IchigoJam BASIC RPi 1.2.5RPi 以降で対応しています。

こちらも圧電サウンダの接続が必要です。SOUND 割り当ては 29 番ピンです。


一部の音がおかしいです。

PLAY で一部音程がおかしい問題があります。今のところこれは仕様となっています。

IchigoJam BASIC 1.0.0 beta 6 で一時的に改善されましたが、IchigoJam BASIC 1.0.0 beta 9 で元に戻されました。

その後 IchigoJam BASIC 1.2 beta 13 で音程を修正しています。正式版 IchigoJam BASIC 1.2.0 からとなります。

合わせて < > が逆になるなど仕様変更があります。


EEPROM への SAVE・LOAD・LRUN で固まります。

EEPROM 関連の断線や混線・ショートが考えられますので、よく見てみて下さい。

単に差し込み先の誤りでも発生します。

はじめて EEPROM を使用する場合は抵抗が原因である事も考えられます。

また、給電不足でも生じている場合があるようです。

EEPROM が付け外しできるモジュールでは、EEPROM の方向が逆になっていないかも確認して下さい。

 

数ヶ月使用した後、急に正常に動作しなくなり、それがしばらく続く場合は、ジャンパや半田部分の断線を疑って下さい。

EEPROM そのものが動作しなくなる報告は少ないですが、まれに EEPROM 側が原因で発生している事もあります。

 

ファームウェア側でタイムアウトするなどの対策が行われたため、新しいバージョンである程固まる事はなくなり、

代わりに数秒でエラー表示になるなどの動作に変化しています。Esc キーでコマンドの中断も可能です。


電源を入れてプログラムを実行するようにできますか?

IchigoJam 本体のボタンを押しながら電源を入れると、

番号 0 のプログラムを読み込み、実行する事ができます。(LRUN (0) を行います)

この代わりに GND と BTN をつなぐ方法もあります。

この機能は IchigoJam BASIC 0.7.3 までに採用されているため、
ほぼ全ての IchigoJam で動作可能です。

 

自動実行したいプログラムはプログラム番号 0 で保存しておいて下さい。

(SAVE 0 を実行します。単にSAVE でも良いです)

EEPROM は実行できないので、手動入力するか、

プログラム番号 0 のプログラムから LRUN で EEPROM を実行するようにします。

運営者はプログラム番号 100 に プログラム一覧・ローダー を入れて

プログラム番号 0 で必要な処理をしつつ、最後に LRUN 100 を実行しています。

 

1.4 系よりプログラムの頭を (行番号) @ARUN で開始する事で、自動起動するようになりました。

 

ロボットなどに接続した状態で IchigoJam を設置し、

キーボードを接続せずにプログラムを実行する事が可能です。

 

IchigoJam BASIC 1.2 beta 13 (正式版 IchigoJam BASIC 1.2.0) からは、

SOUND 端子のプルダウンでも自動起動に対応していましたが、

後の IchigoJam BASIC 1.2 beta(正式版 IchigoJam BASIC 1.2.2)で無効化されています。

 

IchigoJam BASIC RPi では Raspberry Pi からキーボードを外した状態で電源を入れると番号 0 のプログラムを実行します。

その後キーボードを接続して操作可能です。


IchigoJam 同士を接続して、プログラムを転送する事はできますか?

開発者の福野さんが実験を行い、次の方法で成功しています。

  1. 二方の IchigoJam で電源を入れ、BPS 300 を実行しておく(通信速度を 300bps にする)
  2. GND 同士、更に 転送元 TXD-転送先 RXD の2端子をジャンパワイヤで接続
  3. 転送元より LIST を行う。これでプログラムがシリアル転送され、転送先でプログラムが入力される

通信速度がはやいと、転送先がプログラムの1行を処理している間に次の行が転送されてしまい、

プログラムが欠けてしまうようです。

 

この接続状態で PRINT"RUN" とする事で、転送先の IchigoJam でプログラムを実行させる事もできます。

 

IchigoJam同士でプログラム転送する方法 インターネット技術第163委員会研究会(富山)| 福野泰介の一日一創

 

この方法は IchigonQuest で正式に対応されています。115200bps で転送します。


プログラム作成はどのバージョンから考慮すれば良いですか?

電子工作マガジン マイコンBASICマガジン コーナー で見られる IchigoJam BASIC のバージョンは 1.0.1 以降になっています。

そのため、これ以降に公開されたファームウェアを考慮するのがベストです。

  • IchigoJam BASIC 1.0.1 (2015年6月)
    IchigoJam BASIC 1.0.0 も PCN より一時出荷されています。ネット上では公開されていません。
    IchigoJam BASIC 1.0.1 で HELP が追加されている事が分かっています。
  • IchigoJam BASIC 1.1.1 (2015年12月)
  • IchigoJam BASIC 1.2.1 (2016年6月) または IchigoJam BASIC 1.2.0 (2016年4月)
    IchigoJam BASIC 1.2.1 と IchigoJam BASIC 1.2.0 はキーボード対応とローマ字対応の違いで、
    プログラムそのものの動作に違いはありません。
  • IchigoJam BASIC 1.2.3 (2017年8月) または IchigoJam BASIC 1.2.2 (2017年5月)
    IchigoJam BASIC 1.2.2 で若干機能が変わっています。
    IchigoJam 1.2.2 release! 小型液晶/PAL対応他マイナーバージョンアップ | 福野泰介の一日一創
  • IchigoJam BASIC 1.5.0 (2022年12月)
    IchigoJam R・GIGA IchigoDake など RISC-V プロセッサを採用したバージョンに変わっています。
    したがって、LPC1114 プロセッサを使用したプログラムは IchigoJam BASIC 1.4 までの考慮になります。

IchigoJam BASIC 1.2 ではキャラクターが変更されているため、これに伴う修正が発生する場合があります。

また、バージョンアップの度に処理速度が向上しています。 WAIT 値の調整が必要かもしれません。

更に IchigoJam BASIC RPi や IchigoJam web などを考慮する場合は処理速度が異なるのでご注意下さい。

 

更に対応を増やすのであれば、IchigoJam BASIC 0.9.3 以降となります。
この頃から特に IchigoJam の利用者が増加しているようです。
IchigoJam BASIC 0.9.3 以降で製品に含まれたバージョンは次となります。

  • IchigoJam BASIC 0.9.3 (2015年1月)
  • IchigoJam BASIC 0.9.7 (2015年2月)

ただし IchigoJam BASIC 1.0.0(開発版では IchigoJam BASIC 0.9.9-RC)より画面サイズが変更されていて、

プログラム全体の修正を要する場合があります。

最近はこのバージョンで公開されているケースはほとんど見られなくなっている事もあり、

ここまで対応する必要もなくなっていると思われます。