IchigoJam to Cake EEPROM

IchigoJam BASIC と IchigoCake BASIC では

プログラムサイズが異なるため、
EEPROM も領域が異なっています。

でも IchigoCake BASIC で IchigoJam BASIC の EEPROM に

入っていたプログラムを使いたい事があるはずです。

そこでこのプログラムを使って下さい。

 

プログラム番号を調べたい場合は FILES が使えます。

プログラムを実行したら Jam Load No.? と表示されます。
IchigoJam BASIC の EEPROM を接続して

100~227 を入力すると、プログラムを読み込みます。

続いて Cake Save No.? と表示されますので、

IchigoCake の EEPROM に接続しなおし、
保存先のプログラム番号を入れて下さい。

これでプログラムを保存します。

 

誤って上書きしないよう保存先の確認を行っていて、

すでにプログラムが入っている場合は
Found Data!Continue(Y=1/N=2)? と表示します。

1 でプログラムを保存し、2 でプログラムを中断・終了できます。

 

IchigoJam BASIC EEPROM 内。

110 の フウセン >< を移します。

プログラムを実行し、105 へ保存。

FILES すると 105 に入ってます。

無事にプログラムが実行できました。

ふっ、ふうせん~~~ 🎈😍


 

ただし、IchigoJam BASIC プログラムの中には IchigoCake BASIC でそのままでは実行できず、
修正を要する場合がありますので、ご注意下さい。(仮想メモリを参照・保存しているプログラムの一部)

 

10 'IchigoJam to Cake EEPROM
20 CLV:S=32
30 [102]=0:'IchigoCake Only!
40 INPUT"Jam Load No.?",N
50 N=N-100
60 FOR B=0 TO 1023 STEP S
70 POKE #800,N*4+B/256,B%256
80 A=#50+(N>63)*4
90 R=I2CR(A,#800,2,#1400+B,S)
100 NEXT
110 INPUT"Cake Save No.?",N
120 N=N-100
130 POKE #800,N*16,0
140 A=#50+(N>15)*4
150 R=I2CR(A,#800,2,#880,S)
160 P=PEEK(#880)
170 IF P=0 OR P=255 GOTO 220
180 ?"Found Data!";
190 INPUT"Continue(Y=1/N=2)?",C
200 IF C=2 END
210 IF C<>1 GOTO 180
220 FOR B=0 TO 1023 STEP S
230 POKE #800,N*16+B/256,B%256
240 A=#50+(N>15)*4
250 R=I2CW(A,#800,2,#1400+B,S)
260 NEXT
270 FOR B=1024 TO 4095 STEP S
280 POKE #800,N*16+B/256,B%256
290 A=#50+(N>15)*4
300 R=I2CW(A,#800,2,#C00,S)
310 NEXT

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

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


IchigoJam BASIC で IchigoCake BASIC 対応の共通 EEPROM にする

このプログラムを使用せずに共通の EEPROM とする方法があります。

まだ IchigoCake BASIC で保存をしていない場合の作業をおすすめします。
IchigoCake 向けの 1k バイトを超えるプログラムがある状態でこの作業を行うとプログラムを破壊します。

 

100・104・108・112・……と 4 飛ばしでプログラムを SAVE しなおして下さい。

飛ばした番号 101~103・105~107・109~111・……の部分は NEW をした状態で SAVE をします。

この状態にすると、IchigoCake BASIC で 100、101、102、103…… で LOAD できます。

1k バイト以内であれば、IchigoCake BASIC で SAVE したプログラムを IchigoJam BASIC で LOAD する事も可能です。

(IchigoCake BASIC での ?FREE() が 3072 以上になります)

 

ただし、一部のプログラムは動作しないか、問題が発生します。(仮想メモリを直接参照・書き込みしているプログラム)

また、IchigoCake BASIC で 1k バイトを超えているプログラムは

IchigoJam BASIC で読み込むと問題が発生します。FILES も意図しない表示になります。

当然 IchigoCake 独自の配列や専用コマンドを用いている場合は IchigoJam BASIC で動作しません。

できれば IchigoJam BASIC と IchigoCake BASIC では異なる EEPROM で使用するようにして下さい。

 

IchigoJam BASIC では 100、104、108、……で保存すると

IchigoCake BASIC は 100、101、102、103……になります。