エラーが発生すると、システム変数に情報が残ります。
システム変数名 | 情報 |
ERRNUM | エラー番号 |
ERRLINE | 発生した行番号 |
1 | Internal Error | 内部エラー:通常は発生しない |
2 | Illegal Instruction | 内部エラー:通常は発生しない |
3 | Syntax error | 文法が間違っている |
4 | Illegal function | call 命令や関数の引数の数が違う |
5 | Stack overflow | スタックがあふれた |
6 | Stack underflow | スタックが不足した |
7 | Divide by zero | 0による除算をした |
8 | Type mismatch | 変数の型が一致しない |
9 | Overflow | 演算結果が許容範囲を超えた |
10 | Out of range | 範囲外の数値を指定した |
11 | Out of memory | メモリー不足 |
12 | Out of code memory | コード領域のメモリー不足 |
13 | Out of DATA | READできるDATAが不足 |
14 | Undefined label | 指定されたラベルが存在しない |
15 | Undefined variable | 指定された変数が存在しない |
16 | Undefined function | 指定された命令・関数が存在しない |
17 | Duplicate label | ラベルが二重定義されている |
18 | Duplicate variable | 変数が二重定義されている |
19 | Duplicate function | 命令・関数が二重定義されている |
20 | FOR without NEXT | NEXTが無いFORがある |
21 | NEXT without FOR | FORが無いNEXTがある |
22 | REPEAT without UNTIL | UNTILが無いREPEATがある |
23 | UNTIL without REPEAT | REPEATが無いUNTILがある |
24 | WHILE without WEND | WENDが無いWHILEがある |
25 | WEND without WHILE | WHILEが無いWENDがある |
26 | THEN without ENDIF | ENDIFが無いTHENがある |
27 | ELSE without ENDIF | ENDIFが無いELSEがある |
28 | ENDIF without IF | IFが無いENDIFがある |
29 | DEF without END | ENDが無いDEFがある |
30 | RETURN without GOSUB | GOSUBがないRETURNがある |
31 | Subscript out of range | 配列添字が範囲外 |
32 | Nested DEF | DEF内でDEFを定義した |
33 | Can't continue | CONTでプログラムを再開できない |
34 | Illegal symbol string | ラベル文字列の記述方法が間違っている |
35 | Illegal file format | SMILEBASICでは扱えないファイル形式 |
36 | Use PRGEDIT before any PRG function | PRGEDITせずにPRG系の命令を使った |
37 | Animation is too long | アニメーション定義が長すぎる |
38 | Illegal animation data | 不正なアニメーションデータ |
39 | String too long | 文字列が長すぎる |
40 | Can't use from direct mode | ダイレクトモードでは使えない命令 |
41 | Can't use in program | プログラム内では使えない命令 |
42 | Can't use in tool program | ツールプログラム内からは使えない命令 |
43 | Load failed | ファイル読み込みに失敗 |
44 | Uninitialized variable used | 未初期化変数を参照しようとした |
45 | END without CALL | ユーザー定義命令を呼び出していないのにユーザー定義末尾のENDに遭遇した |
46 | Too many arguments | 命令・関数の引数が多すぎる |
汎用 | |
#ON | 1 |
#OFF | 0 |
#YES | 1 |
#NO | 0 |
#TRUE | 1 |
#FALSE | 0 |
RGB(グラフィック用) | |
#AQUA | &HFF00F8F8 |
#BLACK | &HFF000000 |
#BLUE | &HFF0000FF |
#CYAN | &HFF0000F8 |
#FUCHSIA | &HFFF800F8 |
#GRAY | &HFF808080 |
#GREEN | &HFF008000 |
#LIME | &HFF00F800 |
#MAGENTA | &HFFF800F8 |
#MAROON | &HFF800000 |
#NAVY | &HFF000080 |
#OLIVE | &HFF808000 |
#PURPLE | &HFF800080 |
#RED | &HFFF80000 |
#SILVER | &HFFC0C0C0 |
#TEAL | &HFF008080 |
#WHITE | &HFFF8F8F8 |
#YELLOW | &HFFF8F800 |
ATTR | ||
#TROT0 | &H00 | 回転なし |
#TROT90 | &H01 | 回転90度 |
#TROT180 | &H02 | 回転180度 |
#TROT270 | &H03 | 回転270度 |
#TREVH | &H04 | 左右反転 |
#TREVV | &H08 | 上下反転 |
SPSET/SPCHR ATTR | ||
#SPSHOW | &H01 | 表示 |
#SPROT0 | &H00 | 回転なし |
#SPROT90 | &H02 | 回転90度 |
#SPROT180 | &H04 | 回転180度 |
#SPROT270 | &H06 | 回転270度 |
#SPREVH | &H08 | 左右反転 |
#SPREVV | &H10 | 上下反転 |
#SPADD | &H20 | 加算合成 |
SPCHK | ||
#CHKXY | &H01 | XY座標 |
#CHKZ | &H02 | Z座標 |
#CHKUV | &H04 | 画像位置 |
#CHKI | &H08 | DEF定義 |
#CHKR | &H10 | 回転 |
#CHKS | &H20 | スケール |
#CHKC | &H40 | 色 |
#CHKV | &H80 | 内部変数 |
EMUBKST | ||
#EMUIO_NONE | 0 | 何も無かった |
#EMUIO_PCBREAK | 1 | PCブレークに引っかかった |
#EMUIO_READBREAK | 2 | READブレークに引っかかった |
#EMUIO_WRITEBREAK | 3 | WRITEブレークに引っかかった |
#EMUIO_STEP | 4 | ステップ実行完了 |
#EMUIO_TRACE | 5 | トレース実行完了 |
EMUZ80 | ||
#Z80_AF | 0 | AFレジスタ |
#Z80_BC | 1 | BCレジスタ |
#Z80_DE | 2 | DEレジスタ |
#Z80_HL | 3 | HLレジスタ |
#Z80_PC | 4 | プログラムカウンタ |
#Z80_SP | 5 | スタックポインタ |
#Z80_IX | 6 | IXレジスタ |
#Z80_IY | 7 | IYレジスタ |
#Z80_AFS | 8 | 裏AFレジスタ |
#Z80_BCS | 9 | 裏BCレジスタ |
#Z80_DES | 10 | 裏DEレジスタ |
#Z80_HLS | 11 | 裏HLレジスタ |
#Z80_A | 12 | Aレジスタ |
#Z80_F | 13 | Fレジスタ |
#Z80_B | 14 | Bレジスタ |
#Z80_C | 15 | Cレジスタ |
#Z80_D | 16 | Dレジスタ |
#Z80_E | 17 | Eレジスタ |
#Z80_H | 18 | Hレジスタ |
#Z80_L | 19 | Lレジスタ |
#Z80_AS | 20 | 裏Aレジスタ |
#Z80_FS | 21 | 裏Fレジスタ |
#Z80_BS | 22 | 裏Bレジスタ |
#Z80_CS | 23 | 裏Cレジスタ |
#Z80_DS | 24 | 裏Dレジスタ |
#Z80_ES | 25 | 裏Eレジスタ |
#Z80_HS | 26 | 裏Hレジスタ |
#Z80_LS | 27 | 裏Lレジスタ |
#Z80_I | 28 | Iレジスタ |
#Z80_R | 29 | Rレジスタ |
#Z80_IXH | 30 | IX上位レジスタ |
#Z80_IXL | 31 | IX下位レジスタ |
#Z80_IYH | 32 | IY上位レジスタ |
#Z80_IYL | 33 | IY下位レジスタ |
EMUJOYPAD | ||
#EMUJOY_UP | 0 | ↑ |
#EMUJOY_DOWN | 1 | ↓ |
#EMUJOY_LEFT | 2 | ← |
#EMUJOY_RIGHT | 3 | → |
#EMUJOY_1 | 4 | ボタン1 |
#EMUJOY_2 | 5 | ボタン2 |
#EMUJOY_3 | 6 | ボタン3 |
#EMUJOY_4 | 7 | ボタン4 |
#EMUJOY_5 | 8 | ボタン5 |
#EMUJOY_6 | 9 | ボタン6 |
#EMUJOY_7 | 10 | ボタン7 |
#EMUJOY_8 | 11 | ボタン8 |
#EMUJOY_9 | 12 | ボタン9 |
#EMUJOY_10 | 13 | ボタン10 |
#EMUJOY_11 | 14 | ボタン11 |
#EMUJOY_12 | 15 | ボタン12 |
GPIOモード | ||
#GPIOMODE_IN | 0 | デジタル入力 |
#GPIOMODE_OUT | 1 | デジタル出力 |
#GPIOMODE_PWM | 2 | PWM出力 |
#GPIOMODE_CLOCK | 3 | CLOCK出力 |
#GPIOMODE_SOFT_PWM | 4 | ソフトウェアPWM出力 |
#GPIOMODE_SOFT_TONE | 5 | ソフトウェアTONE出力 |
#GPIOMODE_ALT0 | 16 | |
#GPIOMODE_ALT1 | 17 | |
#GPIOMODE_ALT2 | 18 | |
#GPIOMODE_ALT3 | 18 | |
#GPIOMODE_ALT4 | 20 | |
#GPIOMODE_ALT5 | 21 |
GPIOポート | 物理ピン番号 | |
#GPIO0 | 27 | |
#GPIO1 | 28 | |
#GPIO2 | 3 | SDA |
#GPIO3 | 5 | SCL |
#GPIO4 | 7 | D7,CLOCK |
#GPIO5 | 29 | |
#GPIO6 | 31 | |
#GPIO7 | 26 | |
#GPIO8 | 24 | CE0 |
#GPIO9 | 21 | MOSO |
#GPIO10 | 19 | MOSI |
#GPIO11 | 23 | SCLK |
#GPIO12 | 32 | PWM0 |
#GPIO13 | 33 | PWM1 |
#GPIO14 | 8 | |
#GPIO15 | 10 | |
#GPIO16 | 36 | |
#GPIO17 | 11 | D0 |
#GPIO18 | 12 | D1,PWM0 |
#GPIO19 | 35 | PWM1 |
#GPIO20 | 38 | |
#GPIO21 | 40 | |
#GPIO22 | 15 | D3 |
#GPIO23 | 16 | D4 |
#GPIO24 | 18 | D5 |
#GPIO25 | 22 | D6 |
#GPIO26 | 37 | |
#GPIO27 | 13 | D2 |
スティック軸 | 論理スティックID |
#STICK_LX | 0 |
#STICK_LY | 1 |
#STICK_RX | 2 |
#STICK_RY | 3 |
現在のカーソル位置(横方向)
現在のカーソル位置(縦方向)
残りユーザー用のメモリー容量(バイト単位)
システムのバージョン番号(Ver XX.YY.ZZZZの場合、16進で&HXXYYZZZZとなる)
PRINT命令の「,」による基準幅
PRINT TABSTEP TABSTEP=4
システム効果音の有無(TRUE=あり、FALSE=なし)
PRINT SYSBEEP SYSBEEP=FALSE
エラーが発生した時のエラー番号
エラーが発生した時の行番号
エラーが発生した時のプログラムSLOT
プログラム操作命令(PRGEDIT等)のカレントプログラムSLOT
プログラム実行中のみ値が変化
ファイルへの読み書き一覧取得などの命令を実行した際の処理結果
・TRUE=成功、FALSE=失敗、-1=中断
SmileBASIC起動時からのフレームカウント数
SmileBASIC起動時からのミリセカンド値
論理値の「真」(TRUEの値は常に1)
例えばA=0の時、B=(A==0)の結果BにはTRUE(=1)が入る
論理値の「偽」(FALSEの値は常に0)
例えばA=0の時、B=(A!=0)の結果BにはFALSE(=0)が入る
現在の時刻文字列( 書式:"HH:MM:SS"、7時41分5秒の時、"07:41:05" )
現在の日付文字列( 書式:"YYYY/MM/DD"、 2014年9月15日の時、"2014/09/15" )
SPFUNCで呼び出された番号(0~511)
ソフトウェアキーボードの使用禁止/許可(TRUE=許可、FALSE=禁止)
PRINT SOFTKBD SOFTKBD=FALSE