IchigoJam BASIC リファレンス - 1.0

キーボード操作

操作解説
キー文字を入力する
Shift / シフトキーと共に押し記号や小文字などを入力する
カタカナ、右ALT / オルトアルファベットとカタカナ(ローマ字入力)を切り替える
Enter / エンターコマンドを実行する(プログラム変更時もその行でEnterキー)/Shift+Enterで行分割
ESC / エスケーププログラムの実行、リスト表示、ファイル一覧表示を止める
カーソルキーカーソルキーを移動する
Backspace / バックスペースカーソルの前の文字を消す
Delete / デリートカーソルにある文字を消す
左ALT / オルト0-9/A-Kと合わせて押すことで拡張文字入力(SHIFT押しながらで切り替え)
Home End / ホーム エンドカーソルを行頭へ移動、カーソルを行末へ移動
Page Up Page Down / ページアップ ページダウンカーソルを画面上へ移動、カーソルを画面下へ移動
CapsLock / キャップス ロック大文字と小文字を切り替える
Insert / インサート上書きモード、挿入モードを切り替える
ファンクションキーF1:CLS、F2:LOAD、F3:SAVE、F4:LIST、F5:RUN、F6:?FREE()、F7:OUT0、F8:VIDEO1、F9:FILES

初級コマンド

コマンド解説
LED 数 / エルイーディー数が1なら光り、0なら消えるLED 1
WAIT 数 / ウェイト数の数値フレーム分待つ 60で約1秒WAIT 60
: / コロンコマンドを連結するWAIT 60:LED 1
行番号 コマンドプログラムとしてコマンドを記録する10 LED1
行番号指定した行番号のプログラムを消す10
RUN / ランプログラムを実行する (F5)RUN
LIST 行番号1,行番号2 / リスト行番号1以上、行番号2以下のプログラムを表示する(行番号は共に省略可、ESCで途中停止) (F4)LIST 10,300
GOTO 行番号 / ゴートゥー指定した行番号へ飛ぶ(式も指定可能)GOTO 10
END / エンドプログラムを終了するEND
IF 数 THEN 次 ELSE 次2 / イフ・ゼン・エルス数が0でなければ次を実行し、0であれば次2を実行する (THEN,ELSEは省略可)IF BTN() END
BTN(数) / ボタンボタンが押されていれば1、そうで無いとき0を返す(数:0(付属ボタン)/UP/DOWN/RIGHT/LEFT/SPACE、省略で0)LED BTN()
NEW / ニュープログラムを全部消すNEW
PRINT 数や文字列 / プリント文字を表示する (文字列は"で囲む、";" で連結できる) 省略形:?PRINT "HI!"
LOCATE 数,数 / ロケート次に文字を書く位置を横、縦の順に指定する(縦=-1で無表示) 省略形:LCLOCATE 3,3
CLS / クリア スクリーン画面を全部消すCLS
RND(数) / ランダム0から数未満の正数をランダムに返すPRINT RND(6)
SAVE 数 / セーブプログラムを保存する(0〜2の3つ、100-227 外付けEEPROM、省略で前回使用した数) ボタンを押した状態で起動すると0番を読み込み自動実行SAVE 1
LOAD 数 / ロードプログラムを読み出す(0〜2の3つ、100-227 外付けEEPROM、省略で前回使用した数)LOAD
FILES 数1,数2 / ファイルズ数1(省略可)〜数2のプログラム一覧を表示する(EEPROM内ファイル表示に対応、0指定ですべて表示、ESCで途中停止)FILES
BEEP 数,数 / ビープBEEPを鳴らす 周期(1-255)と長さ(1/60秒単位)は省略可 ※SOUND(EX2)-GNDに圧電サウンダー接続BEEP
PLAY MML / プレイMMLで記述した音楽を再生する MML省略で停止 ※SOUND(EX2)-GNDに圧電サウンダー接続する http://fukuno.jig.jp/892PLAY "$CDE2CDE2"
TEMPO 数 / テンポ再生中の音楽のテンポを変更するTEMPO 1200
数 + 数足し算するPRINT 1+1
数 - 数引き算するPRINT 2-1
数 * 数掛け算するPRINT 7*8
数 / 数割り算する(小数点以下は切り捨てられます)PRINT 9/3
数 % 数割り算した余りを返すPRINT 10%3
(数)カッコ内は優先して計算するPRINT 1+(1*2)
LET 変数,数 / レットアルファベット1文字を変数として数の値を入れる(配列に連続代入可能) 省略形:変数=数LET A,1
INPUT (文字列,)変数 / インプットキーボードからの入力で数値を変数にいれるINPUT "ANS?",A
TICK() / ティック時間を返す(1/60秒で1進む)PRINT TICK()
CLT / クリア ティック時間をリセットするCLT
INKEY() / インキーキーボードから1文字入力する(入力がないときは0)PRINT INKEY()
CHR$(数) / キャラ文字コードに対応する文字を返す(コンマ区切りで連続表記可)PRINT CHR$(65)
ASC("文字") / アスキー文字に対する文字コードを返すPRINT ASC("A")
SCROLL 数 / スクロール指定した方向に1キャラクター分スクロールする(0/UP:上、1/RIGHT:右、2/DOWN:下、3/LEFT:左)SCROLL 2
SCR(数,数) / スクリーン画面上の指定した位置に書かれた文字コードを所得する(指定なしで現在位置) 別名:VPEEKPRINT SCR(0,0)
数 = 数比較して等しい時に1を返す (==でも可)IF A=B LED 1
数 <> 数比較して等しくない時に1を返す (!=でも可)IF A<>B LED 1
数 <= 数比較して以下の時に1を返すIF A<=B LED 1
数 < 数比較して未満の時に1を返すIF A<B LED 1
数 >= 数比較して以上の時に1を返すIF A>=B LED 1
数 > 数比較してより大きい時に1を返すIF A>B LED 1
式 AND 式 / アンド両方の式が正しい時に1を返すIF A=1 AND B=1 LED 1
式 OR 式 / オアどちらかの式が正しい時にに1を返すIF A=1 OR B=1 LED 1
NOT 式 / ノット式が正しい時に0を返す 省略形:!IF NOT A=1 LED 1
REM / リマークこれ以降の命令を実行しない(コメント機能) 省略形:'REM START
FOR 変数=数1 TO 数2 STEP 数3 / フォー・トゥー・ステップ変数に数1をいれ、数2になるまで数3ずつ増やしながらNEXTまでをくりかえす (STEPは省略可)FOR I=0 TO 10:?I
NEXT / ネクストFORコマンドに戻り、変数にSTEP指定の数だけ増やし、TOに到達していない場合くりかえすNEXT

上級コマンド

コマンド解説
CLV / クリア バリアブル変数、配列を全部0にする 別名:CLEARCLV
CLK / クリア キーキーバッファとキーの状態をクリアするCLK
ABS(数) / アブソリュート絶対値を返す(マイナスはプラスになる)PRINT ABS(-2)
[数]配列([0]から[101]までの102コの連続した変数として使えます) LET[0],1,2,3で連続代入可能[3]=1
GOSUB 行番号 / ゴーサブ数または式で指定した行番号に飛び、RETURNで戻ってくる 省略形:GSGOSUB 100
RETURN / リターンGOSUBで呼び出された次へ戻る 省略形:RTRETURN
STOP / ストッププログラムを中断するSTOP
CONT / コンティニュー実行中の行や、中断した行を再度実行するCONT
SOUND() / サウンド音が再生中なら1、そうで無いとき0をを返す? SOUND()
FREE() / フリープログラムの残りメモリ数を返す? FREE()
VER() / バージョンIchigoJam BASICのバージョン番号を返す? VER()
RENUM 数 / リナンバープログラムの行数を指定数から10刻みにする (数省略で10、GOTO/GOSUBの飛び先は手で変更必要)RENUM
LRUN 数 / ロードランプログラムを読み込み後、実行しますLRUN 1
FILE() / ファイル最後にプログラムを読み込み、書き込み行った数を返す? FILE()
SLEEP / スリーププログラムを休止する (ボタンを押すと復帰する)SLEEP
VIDEO 数 / ビデオ画面表示、停止を切り替える 0で画面表示を停止し処理高速化 (F8で表示)VIDEO 0
PEEK(数) / ピークメモリ読み出し(キャラクターパターン0-#7FF)?PEEK(#700)
POKE 数,数 / ポークメモリへの書き込み(#700-#FFF内が書き込み可能 http://fukuno.jig.jp/984POKE #700,#FF
CLP / クリア パターンキャラクターパターン(#700-#7FF)を初期化しますCLP
HELP / ヘルプメモリマップを表示しますHELP
RESET / リセットIchigoJamをリセットしますHELP
IN(数) / インIN1-5から入力する(0または1) 数を省略してまとめて入力できる (IN1,2,4,5はプルアップ)LET A,IN(1)
ANA(数) / アナログ外部入力の電圧(0V-3.3V)を0-1023の数値で返す(2:IN2、5:BTN、省略で5)A=ANA()
OUT 数1,数2 / アウト外部出力OUT1-7に0または1を出力する 数2を省略でまとめて出力できるOUT 1,1
PWM 数1,数2,数3 / ピーダブリューエム外部出力OUT2-4に数2で0.01msec単位で指定するパルスを出力する(0-2000、周期20msec、サーボ使用時100-200前後)、数3で周期を指定(省略時2000=20msec)PWM 2,100
DEC$(数,数) / デシ数を文字列にします(2番目の数は桁数、省略可)?DEC$(99,3)
#16進数16進数で数を表記します#FF
HEX$(数,数) / ヘックス数を16進数の文字列にします(2番目の数は桁数、省略可)?HEX$(255,2)
`2進数2進数で数を表記します`1010
BIN$(数,数) / バイナリー数を2進数の文字列にします(2番目の数は桁数、省略可)?BIN$(255,8)
数 & 数論理積(ビットマスク)? 3&1
数 | 数論理和? 3|1
数 ^ 数排他的論理和? A^1
数 >> 数右シフトする? A>>1
数 << 数左シフトする? A<<1
~数ビット反転? ~A
BPS 数 / ビーピーエスシリアル通信速度を変更する(0で初期値の115,200bps)BPS 9600
I2CR(数1,数2,数3,数4,数5) / アイツーシーI2Cで周辺機器から読み込む I2Cアドレス、コマンド送信アドレス・長さ、受信アドレスと長さ(http://fukuno.jig.jp/989R=I2C(#A0,#700,2,#702,2)
I2CW(数1,数2,数3,数4,数5) / アイツーシーI2Cで周辺機器に書き込む I2Cアドレス、コマンド送信アドレス・長さ、送信アドレスと長さ(http://fukuno.jig.jp/989R=I2C(#A0,#700,2,#702,2)
USR(数,数) / ユーザーマシン語呼び出し(注意!高確率でIchigoJamが停止します)A=USR(#700,0)