IchigoJam web by WebAssembly

(IchigoJam BASIC 1.2 相当)



Web ブラウザ上で IchigoJam BASIC が動作します。

インターネットに接続できる環境であれば、すぐに使用できます。

OS を問わずに使用できるのも大きなメリットです。

 

以前一部機能だけ動作可能だった IchigoJam.js がありましたが、

2017年4月に WebAssembly・WASM をベースとした
「IchigoJam web by WebAssembly」となって公開されました。

キー動作は一部使用できませんが、

比較的新しいベータ版の IchigoJam BASIC を随時適用し、
機能はほぼ使用可能です。

 

動作可能なブラウザは次のとおりです。

  • Mozilla Firefox
  • Google Chrome
  • Chromium (Google Chrome の派生元)
  • Apple Safari
  • Microsoft Edge

Internet Explorer は WebAssembly 非対応ですのでご注意下さい。

OS は Windows・macOS・Linux・Android・iOS で対応しています。

Android・iOS では IchigoJam 画面上でキーボードが表示されないため、Bluetooth・USB キーボードを使う事になります。

右画像は Linux Mint の Firefox で起動しています。多くの環境で動作できるのも特徴です。


起動方法

Web ブラウザより次のアドレスを参照するだけです。

 

http://fukuno.jig.jp/app/IchigoJam/

 

起動画面が表示されると正常に使用できます。キーボードを入力してみて下さい。


プログラムの入力・実行

プログラムの入力は通常の IchigoJam 実機同様に IchigoJam 画面上で入力する事ができます。

 

また、下の表示枠にテキストのプログラムを貼り付け、

import ボタンで IchigoJam 画面へ反映する事ができます。

ネット上に掲載されている IchigoJam BASIC のプログラムをコピー・貼り付けして、すぐに実行可能です。

ただし、カナは文字コードの違いにより、正常に行えません。基本的には英数の扱いです。

 

下の入力枠にはプログラムだけではなく、任意のコマンドを入れる事もできます。

末尾に RUN を入れておくと、プログラムを入力し、実行まで行う事が可能です。


プログラムの公開

import を行った際にブラウザのアドレス(URL)部分が変化しています。

このアドレスをコピーし、Web サイトなどにリンクとして貼り付けておくと、

リンクをクリックするだけで、プログラムを入力した状態にする事ができます。

 

# 以降にプログラムが直接入っています。

RUN などのプログラムでない部分も入ります。

IchigoJam web が動作するサーバに保存されず、

GitHub Gist のような短縮 URL ではなく、

プログラムが URL に入っているのも特徴です。

 

実際に BASIC/プログラム 内の一部プログラムでこれを使用しています。

 

Facebook グループ IchigoJam-FAN でもこれでプログラム公開が見られます。



プログラムの保存

プログラムを入力した状態で(LIST で表示ができる状態)

画面表示の下にある export をクリックすると、

現在メモリ保存されているプログラムがテキストフィールドで表示されます。

すべて選択→コピー して、テキストエディタへ貼り付け、ファイル保存して下さい。

 

このテキストファイルは USB-シリアルモジュール を用いるなどして、
IchigoJam 実機へ移して動作させる事が可能です。

IchigoJam BASIC RPi では ijbconv で変換し SD カードへ入れる方法もあります。 

動作がおかしい場合は改行コードを変えてみて下さい。



フルスクリーン(全画面)表示

full screen ボタン でフルスクリーン(全画面)表示に対応しています。

IchigoJam PC や IchigoJam BASIC RPi などに近い表示にできます。

16:10 や 16:9 の画面では縦の余白が狭く、横の余白が広くなります。

 

フルスクリーンの解除はキーボードの Esc キーです。
プログラムの実行を止めるのに使うキーは

Esc キーの代わりに Ctrl+C を使用して下さい。



VR 表示

2018年6月より VR 表示が対応されています。


vr ボタンが追加されていて、

これを押すと 2 画面表示になります。

2 画面は左右とも同じ表示です。

 

この VR 表示はウインドウ横幅で表示するので、

表示幅はブラウザのウインドウ幅で調整できます。

横幅によって IchigoJam 表示の縦横比が変化します。

 

再度 vr ボタンを押す事で元の表示に戻せます。



LED

ページの右上には 数字 LED が表示されています。

これは OUT 1〜6・LED に該当します。(LED=OUT 7)並びは右のとおりです。

FOR I=1 TO 7:OUT I,1:NEXT または OUT `11111111 (OUT 127) で確認できます。

 

また、本体 LED が点灯している状態は IchigoJam 画面の周辺が反転するようになります。

LED 1 で確認できます。

 

なお、画面の変化だけで、物理的なピンの入出力は対応していません。

 

OUT 1 / 1  

OUT 6

/ 32

 

OUT 2

/ 2

  OUT 7・LED / 64  

OUT 5

/ 16

 

OUT 3

/ 4

  OUT 4 / 8  


処理速度

基本的に IchigoJam 実機よりも速度は遅くなります。

参考として、次のプログラムを実行してみました。FOR〜NEXT の 10000 回ループです。

 

10 CLT

20 FOR I=0 TO 9999

30 NEXT

40 PRINT TICK()

50 END

 

結果は次のとおりとなります。

  • IchigoJam BASIC 1.2.3(IchigoJam 本体): 1219(約 20.3 秒)
  • IchigoJam web(2018年9月現在): 3334(約 55.6 秒)

なお、i5・Core Duo・Celeron と CPU の異なるパソコン、
また Chrome・Firefox・Edge と Web ブラウザを変えて試したところ、速度は変わりませんでした。