プチコン

※一般に「書式」中で [ ] に囲まれた部分は省略可能です.

ダイレクトモード専用ステートメント(プログラム内記述不可)

NEW
プログラムを消す
書式NEW
引数なし
戻りなし
LIST
ソース編集モードへの切り替えと編集開始
書式LIST
LIST @ラベル
LIST 行番号
引数行番号省略可能、ソースが表示される行の指定
@ラベル省略可能、ソースが表示される行の指定
戻りなし
RUN
プログラムの実行
書式RUN
引数なし
戻りなし
CONT
STOP命令で停止中のプログラムを再開
書式CONT
引数なし
戻りなし
FILES
ファイル一覧をコンソール上に表示
書式FILES [ リソース名 [, リソース名 ... ] ]
引数リソース名特定のリソースのみを表示させたい場合に指定
戻りなし

基本ステートメント

CLEAR
変数名やBASIC内部のメモリーを初期化
書式CLEAR
引数なし
戻りなし
=
代入( LET 命令自体を省略 )
書式ABC=123
TEXT$=”ABCDE”
引数なし
戻りなし
DIM
配列宣言。要素数は2次元まで。
書式DIM pos( 4 ), size( 4 )
DIM sample( 10, 5 )
引数なし
戻りなし
REM
注釈、コメント、この記号以降改行までは無視される
書式REM コノサキハコメントデス
' comment text
引数なし
戻りなし
LABEL
必ず行の先頭で利用する行に対するブックマーク。GOTOやGOSUBなどで利用。
この記号直後の8文字(スペースは除く)が名前になる、以降改行まで無視。
行番号の代わりに利用する場合は、必ず先頭に@をつけてからLABEL名を書く。
書式LABEL ラベル名
@NAME1
@SAMPLE
区切りは改行か8文字かスペースまで、そのあと改行まで無視
引数ラベル名文字列とは異なり””で囲む必要はない
戻りなし
KEY
ファンクションキーに文字列を割り当てる。
ユーザープログラム内で利用する場合、押されたファンクションキーに登録された文字列がキー情報として内部的に流し込まれる。
書式KEY 番号, “文字列”
引数番号ファンクションキーの番号(1~5)
文字列割り当てる文字列(表示上は4文字までだが、内部的には256文字まで確保 、表示しきれない場合、最後の文字を '.' として表示)
戻りなし
READ
DATAの情報を読み込む
書式READ 取得変数1 [, 取得変数2 ... ]
READ A
READ B$
READ X,Y,Z,G$
引数取得変数...DATA から読み込む情報を格納する変数。複数指定可能。
戻りなし
DATA
READで読み込むデータの定義(数値も文字も混在可能)
書式DATA 数値, 数値, ...
DATA “文字列”, “文字列”, ...
DATA 123,345,56,”SAMPLE”
引数情報数値や文字列を ',' で区切って並べる
戻りなし
RESTORE
READが読み込むDATAの位置を変更する
書式RESTORE @ラベル
引数なし
戻りなし
GOTO
強制分岐
書式GOTO @ラベル
引数なし
戻りなし
GOSUB
サブルーチン呼び出し
書式GOSUB @ラベル
引数なし
戻りなし
RETURN
サブルーチンからの復帰
書式RETURN
引数なし
戻りなし
STOP
実行中のプログラムを強制的に停止してコンソールへ戻る
書式STOP
引数なし
戻りなし
END
プログラムの終了
書式END
引数なし
戻りなし
FOR~ TO~ STEP
指定回数の繰り返し
書式FOR 変数=初期値 TO 終了値 [ STEP 増加量 ]
引数なし
戻りなし
NEXT
FOR の終わり
書式NEXT [ 変数名 ]
引数なし
戻りなし
IF~ THEN
条件判断(複数行およびELSEには対応しない)
書式IF 条件式 THEN 成立時に実行される命令
IF 条件式 THEN @ラベル
引数なし
戻りなし
IF~ GOTO
条件判断(複数行およびELSEには対応しない)
書式IF 条件式 GOTO @ラベル
引数なし
戻りなし
ON~ GOTO
数値内容によって分岐
書式ON 変数 GOTO 変数=0の時の@ラベル, @ラベル1, @ラベル2...
引数なし
戻りなし
ON~ GOSUB
数値内容によってサブルーチン呼び出し
書式ON 変数 GOSUB 変数=0の時の@ラベル, @ラベル1, @ラベル2...
引数なし
戻りなし
TMREAD
時間文字列を数値に変換
書式TMREAD( “時間文字列” ), HOUR, MIN, SEC
引数時間文字列HH:MM:SS 形式の時間文字列
HOUR時間を受け取る変数(0~23)
MIN分を受け取る変数
SEC秒を受け取る変数
戻りなし
DTREAD
日付文字列を数値に変換
書式DTREAD( “日付文字列” ), YEAR, MON, DAY
引数日付文字列YYYY/MM/DD 形式の時間文字列
YEAR年を受け取る変数
MON月を受け取る変数
DAY日を受け取る変数
戻りなし
VSYNC
画面更新周期との同期(描画待ち)
書式VSYNC フレーム数
引数フレーム数直前のVSYNC呼び出しからの経過フレーム数を指定(0=無視)
戻りなし

コンソール制御系のステートメントと関数

CLS
コンソール画面を消去(下画面に表示されている文字も対象)
書式CLS
引数なし
戻りなし
COLOR
コンソールに表示する文字の色指定
書式COLOR パレット番号
引数パレット番号0~15(BG用に割り当てられた16色ずつのパレットの一部を利用)
戻りなし
LOCATE
コンソール上の文字表示位置を指定
書式LOCATE x座標,y座標
引数x座標横方向の座標(0~31)※有効範囲外でも受け付ける
y座標縦方向の座標(0~23)※有効範囲外でも受け付ける
戻りなし
PRINT
コンソールへの文字表示
書式PRINT “文字列”
PRINT 変数
PRINT 変数$
PRINT 変数;変数$;”文字列”
PRINT “文字列”,変数,変数$
引数;複数の要素を続けて表示する場合に利用する
,複数の要素を続けて表示するがTAB位置補正がかかる
戻りなし
INPUT
数値または文字列の取得
書式INPUT “文字列” ; 受け取る変数
INPUT “文字列” ; 受け取る変数$
INPUT “文字列” ; 受け取る変数, 受け取る変数$
引数文字列省略可能、入力用の説明
受け取る変数キーボードからの入力を受け取るための数値または文字列変数
,複数の変数を指定する場合の区切り
戻りなし
LINPUT
文字列の取得。INPUTでは入力できない ',' 等も受け付ける。
書式LINPUT “文字列” ; 受け取る変数$
引数文字列省略可能、入力用の説明
受け取る変数キーボードから1行分の文字列を受け取る変数
戻りなし
INKEY$
1文字取得。入力がない場合 ”” が戻る
書式変数$ = INKEY$()
引数なし
戻り文字変数キーボードからの1文字が戻る ※システムの都合によりBackSpaceキーは判定されない
BUTTON
ハードウェアボタンの状態取得
書式変数=BUTTON()
引数なし
戻り1
2
4
8
16A
32B
64X
128Y
256L
512R
1024START
2048SELECT
CHKCHR
コンソール上の文字番号を調べる
書式変数 = CHKCHR( x座標,y座標 )
引数x座標横方向の座標(0~31)※有効範囲外でも受け付ける
y座標縦方向の座標(0~23)※有効範囲外でも受け付ける
戻り-1=範囲外、0~255=ASCII文字コード

ファイルと通信に関するステートメント

LOAD
ファイルの読み込み(確認ダイアログの表示)
書式LOAD ”リソース名:ファイル名” [, 表示制御 ]
引数リソース名読み込む対象となるリソースに割り当てられた文字列
PRG
プログラム
MEM
メモリー
COL0~COL2
カラー
GRP0~GRP1
グラフィック
SCU0~SCU1
スクリーンユーザー用
BGF0
キャラBGフォント用
BGU0~BGU3
キャラBGユーザー用
SPS0~SPS1
キャラスプライトシステム用
SPU0~SPU7
キャラスプライトユーザー用
表示制御FALSE を入れると読み込み時のダイアログ表示を省略
戻りなし
SAVE
ファイルの保存(確認ダイアログの表示)
書式SAVE ”リソース名:ファイル名”
引数リソース名※LOADを参照
戻りなし
DELETE
ファイルの消去(確認ダイアログの表示)
書式 
引数リソース名※LOADを参照
戻りなし
EXEC
プログラム内から他のプログラムを読み込んで実行する
書式EXEC ”ファイル名”
引数ファイル名実行するプログラムファイル名
戻りなし
RENAME
ファイル名の変更
書式RENAME "リソース名:ファイル名", "新しい名前"
引数リソース名※LOADを参照
新しい名前ファイル種類を含まない単純なファイル名
戻りなし
RECVFILE
他のDSiからファイルを受信(確認ダイアログの表示)
書式FILERECV ”リソース名:ファイル名”
引数リソース名※LOADを参照
戻りなし
SENDFILE
他のDSiへファイルを送信(確認ダイアログの表示)
書式FILESEND ”リソース名:ファイル名”
引数リソース名※LOADを参照
戻りなし

描画基本に関するステートメント

VISIBLE
画面表示要素の制御(対象面項目を0で非表示、1で表示)
書式VISIBLE コンソール,パネル,BG0,BG1,スプライト,グラフィック
引数コンソール0=非表示、1=表示
パネル0=非表示、1=表示
BG00=非表示、1=表示
BG10=非表示、1=表示
スプライト0=非表示、1=表示
グラフィック0=非表示、1=表示
戻りなし
COLINIT
色を初期状態に戻す
書式COLINIT “色バンク名”, 色番号
引数色バンク名色を指定する文字列
BG
BGスクリーン用
SP
スプライト用
GRP
グラフィック用
色番号0~255
戻りなし
COLSET
新しい色を指定する(BGの0番は、バックドロップ色となる)
書式COLSET “色バンク名”, 色番号, “色情報文字列”
引数色バンク名※COLINITを参照
色番号※COLINITを参照
色情報文字列16進文字列( RRGGBBの順 )各要素00~FFとする
(例)"FF00AA”
(RGB各要素につき256段階あるが、DSiの仕様に基づき適切な数値に変換されて表示される)
戻りなし
COLREAD
指定した色の情報取得
書式COLREAD( “色バンク名”, 色番号 ), R, G, B
引数色バンク名※COLINITを参照
色番号※COLINITを参照
R赤の色要素を受け取る変数
G緑の色要素を受け取る変数
B青の色要素を受け取る変数
戻りなし

キャラクタに関するステートメント

CHRINIT
キャラクタを初期状態に戻す
書式CHRINIT “キャラ名”
引数キャラ名対象キャラクタを指定するための文字列
BGF0
BGフォントキャラクタ
BGU0~BGU3
ユーザー用BGキャラクタ
SPS0~SPS1
システム用スプライトキャラクタ
SPU0~SPU7
ユーザー用スプライトキャラクタ
戻りなし
CHRSET
キャラクタを1つ定義する(8x8ドット単位)
書式CHRSET “キャラ名”, キャラ番号, “画像文字列”
引数キャラ名※CHRINIT参照
キャラ番号0~255
画像文字列16色8x8ドット分のキャラクタ情報を16進文字列とする。
(例)“AABBCCDD11223344AABBCCDD11223344AABBCCDD11223344AABBCCDD11223344”(1文字で1ドットを表現)
戻りなし
CHRREAD
指定キャラクタの定義情報を取得
書式COLREAD( “キャラ名”, キャラ番号 ), C$
引数キャラ名※CHRINIT参照
キャラ番号※CHRSET参照
C$キャラクタ定義文字列を受け取る変数(※CHRSET参照)
戻りなし

スプライトに関するステートメントと関数

SPPAGE
操作対象スプライト画面の指定
書式SPPAGE 画面
引数画面0=上画面, 1=下画面
戻りなし
SPSET
スプライトの定義(定義することで活動開始となる。初期位置は0,0)
書式SPSET 管理番号, スプライトキャラ番号, パレット番号, h反転, v反転, 優先順位
引数管理番号0~99
スプライトキャラ番号0~511(下画面への表示の場合0~117)
パレット番号0~15
h反転0=なし、1=横反転
v反転0=なし、1=縦反転
優先順位BGに対する表示優先順位を番号で指定
0
コンソールよりも前
1
コンソールとユーザー用BG前の間
2
ユーザー用BG2枚の間
3
ユーザ用BG奥の後ろ
戻りなし
SPCLR
スプライトの消去(活動禁止にします)
書式SPCLR [ 管理番号 ]
引数管理番号0~99
戻りなし
SPCHR
スプライトのキャラクタ変更
書式SPCHR 管理番号, スプライトキャラ番号 [ , パレット番号, h反転, v反転, 優先順位 ]
引数管理番号0~99
スプライトキャラ番号0~511(下画面への表示の場合0~117)
パレット番号0~15
h反転0=なし、1=横反転
v反転0=なし、1=縦反転
優先順位※SPSETを参照
戻りなし
SPANIM
スプライトによるアニメ表示
SPSET で指定されたキャラ番号から、この命令で指定された枚数の範囲で 指定時間ごとにキャラ番号を切り替える。
書式SPANIM 管理番号, 枚数, 時間, ループ
引数管理番号0~99
枚数1~
時間1コマを表示する時間(1=1/60秒)
ループ1~(ループ回数)※0を指定すると無限ループとなる
戻りなし
SPOFS
スプライト座標の変更
書式SPOFS 管理番号, x座標, y座標 [, 補間時間 ]
引数管理番号0~99
x座標-1024~+1024(有効範囲外も受け付ける)
y座標-1024~+1024(有効範囲外も受け付ける)
補間時間現在の状態と新しい値の間を自動補間する時間(1=1/60秒)
戻りなし
SPANGLE
スプライト角度の変更
書式SPANGLE 管理番号, 角度 [, 補間時間, 変化方向 ]
引数管理番号0~31(ハードウェア制限で32個まで)
角度0~360(有効範囲外も受け付ける)
補間時間現在の状態と新しい値の間を自動補間する時間(1=1/60秒)
変化方向1=時計回り, -1=反時計回り(省略時時計回り)
戻りなし
SPSCALE
スプライトスケールの変更
書式SPSCALE 管理番号, スケール [, 補間時間 ]
引数管理番号0~31(ハードウェア制限で32個まで)
スケール0~200(パーセント相当)
補間時間現在の状態と新しい値の間を自動補間する時間(1=1/60秒)
戻りなし
SPCHK
自動補間の状態取得
書式変数 = SPCHK( 管理番号 )
引数管理番号0~99
戻り文字列FALSE=補間終了、TRUE=補間中

BGスクリーンに関するステートメントと関数

BGPAGE
操作対象BG画面の指定
書式BGPAGE 画面
引数画面0=上画面, 1=下画面
戻りなし
BGCLIP
表示範囲の指定(全てのレイヤーが対象となる)
書式BGCLIP 始点x, 始点y, 終点x, 終点y
引数始点x座標0~31
始点y座標0~23
終点x座標0~31
終点y座標0~23
戻りなし
BGOFS
BGスクリーンの表示オフセットを変更
書式BGOFS レイヤー, x座標, y座標 [, 補間時間 ]
引数レイヤー
x座標横方向の座標(0~511)(有効範囲外も受け付ける)
y座標縦方向の座標(0~511)(有効範囲外も受け付ける)
補間時間現在の状態と新しい値の間を自動補間する時間(1=1/60秒)
戻りなし
BGPUT
指定位置のBGスクリーンに書き込み
書式BGPUT レイヤー, x座標, y座標, キャラ番号, パレット番号, h反転, v反転
引数レイヤー0=手前, 1=奥
x座標横方向の座標(0~63)(有効範囲外も受け付ける)
y座標縦方向の座標(0~63)(有効範囲外も受け付ける)
キャラ番号0~1023
パレット番号0~15
h反転0=なし、1=横反転
v反転0=なし、1=縦反転
戻りなし
BGREAD
指定位置のBGスクリーンから情報を取得
書式BGREAD( レイヤー, x座標, y座標 ), CHR, PAL, H, V
引数レイヤー0=手前, 1=奥
x座標横方向の座標(0~63)(有効範囲外も受け付ける)
y座標縦方向の座標(0~63)(有効範囲外も受け付ける)
CHRキャラ番号を受け取る変数
PALパレット番号を受け取る変数
HH反転を受け取る変数
VV反転を受け取る変数
戻りなし

256色グラフィックに関するステートメントと関数

GPAGE
操作対象グラフィック画面の指定
書式GPAGE 画面
引数画面0=上画面, 1=下画面
戻りなし
GCLS
操作対象グラフィック画面の消去
書式GCLS [ 色 ]
引数0~255(省略時はGCOLORの色)
戻りなし
GCOLOR
グラフィック画面の描画色指定
書式GCOLOR 色番号
引数色番号0~255
戻りなし
GPSET
点を打つ
書式GPSET x座標, y座標 [ ,色 ]
引数x座標0~255(有効範囲外も受け付ける)
y座標0~191(有効範囲外も受け付ける)
0~255(省略時はGCOLORの色)
戻りなし
GPAINT
指定位置から塗りつぶし(指定位置の色に隣接する同一色が対象)
書式GPAINT x座標, y座標 [ ,色 ]
引数x座標0~255(有効範囲外も受け付ける)
y座標0~191(有効範囲外も受け付ける)
0~255(省略時はGCOLORの色)
戻りなし
GLINE
線を引く
書式GLINE 始点x座標, 始点y座標, 終点x座標, 終点y座標 [ ,色 ]
引数始点x座標0~255(有効範囲外も受け付ける)
始点y座標0~191(有効範囲外も受け付ける)
終点x座標0~255(有効範囲外も受け付ける)
終点y座標0~191(有効範囲外も受け付ける)
0~255(省略時はGCOLORの色)
戻りなし
GBOX
矩形を書く
書式GBOX 始点x座標, 始点y座標, 終点x座標, 終点y座標 [ ,色 ]
引数始点x座標0~255(有効範囲外も受け付ける)
始点y座標0~191(有効範囲外も受け付ける)
終点x座標0~255(有効範囲外も受け付ける)
終点y座標0~191(有効範囲外も受け付ける)
0~255(省略時はGCOLORの色)
戻りなし
GFILL
矩形塗りつぶし
書式GFILL 始点x座標, 始点y座標, 終点x座標, 終点y座標 [ ,色 ]
引数始点x座標0~255(有効範囲外も受け付ける)
始点y座標0~191(有効範囲外も受け付ける)
終点x座標0~255(有効範囲外も受け付ける)
終点y座標0~191(有効範囲外も受け付ける)
0~255(省略時はGCOLORの色)
戻りなし
GCIRCLE
円を書く
書式GCIRCLE x座標, y座標, 半径 [ ,色 ] {, 開始角, 終了角 }
引数x座標0~255(有効範囲外も受け付ける)
y座標0~255(有効範囲外も受け付ける)
半径0~255(有効範囲外も受け付ける)
0~255(省略時はGCOLORの色)
開始角0~360(有効範囲外も受け付ける)
終了角0~360(有効範囲外も受け付ける)
戻りなし
GPUTCHR
指定されたキャラクタの画像情報をグラフィック画面に表示
書式GPUTCHR x座標, y座標, ”キャラ名”, 番号, パレット番号, スケール
引数x座標0~255(有効範囲外も受け付ける)
y座標0~255(有効範囲外も受け付ける)
キャラ名※CHRINIT参照
番号キャラクタ番号(0~255)
パレット番号キャラクタ用の色(0~15) ※指定したパレット番号に対応するグラフィック面のカラーも16色分変化する
スケール拡大率(1,2,4,8)
戻りなし
GSPOIT
指定位置の色を調べる
書式変数 = GSPOIT( x座標, y座標 )
引数x座標0~255(有効範囲外も受け付ける)
y座標0~255(有効範囲外も受け付ける)
戻り0~255(範囲外の場合-1)

音楽に関するステートメントと関数

BEEP
単純な警告音の発生
書式BEEP [ 波形番号 ] [ ,周波数 ] [ ,音量 ] [ ,パンポット ]
引数波形番号0~69(省略時は0番、単純なPSG音)
周波数±8192(-8192=2オクターブ下、8192=2オクターブ上)
音量0~127
パンポット0(左)~64(中央)~127(右)
戻りなし
BGMPLAY
音楽演奏開始
書式BGMPLAY [ BGM番号 ]
引数BGM番号0~29
戻りなし
BGMSTOP
音楽演奏停止
書式BGMSTOP
引数なし
戻りなし
BGMCHK
音楽の演奏状態調査
書式変数=BGMCHK()
引数なし
戻り文字列FALSE=停止中、TRUE=演奏中

パネルとシステムアイコンに関するステートメントと関数

PNLTYPE
パネルの種類変更
書式PNLTYPE "パネル名"
引数パネル名下画面に表示する種類を決める文字列
OFF
パネルがない状態
PNL
キーボードがない状態
KYA
英語のキーボード
KYM
記号のキーボード
KYK
カナのキーボード
戻りなし
PNLSTR
下画面への文字列表示(最終行に表示しても改行は発生しない)
書式PNLSTR x座標,y座標, "文字列" [ ,パレット番号 ]
引数x座標横方向の座標(0~31)※有効範囲外でも受け付ける
y座標縦方向の座標(0~23)※有効範囲外でも受け付ける
文字列表示させたい文字列
パレット番号0~15
戻りなし
ICONSET
ユーザー用システムアイコンの表示キャラクタ設定(及び表示開始)
書式ICONSET アイコン位置, アイコン番号
引数アイコン位置ユーザー用のシステムアイコン番号(0~3)
アイコン番号アイコン専用のキャラ管理番号(0~
戻りなし
ICONCLR
ユーザー用システムアイコンの表示解除
書式ICONCLR アイコン位置
引数アイコン位置※ICONSET参照
戻りなし
ICONCHK
ユーザ用システムアイコンの状態確認
書式数値 = ICONCHK()
引数アイコン番号※ICONSET参照
戻り数値-1=押されていない、0~=押されたアイコンの番号

文字に関する関数

ASC
指定された文字のASCIIコードを返す
書式変数 = ASC( 文字 )
引数なし
戻り数値指定された文字の文字コード
CHR$
指定された文字コードから文字を返す
書式変数$ = CHR$( 文字コード )
引数文字コード文字ごとに対応する番号
戻り文字文字コードに対応する文字
VAL
文字列から数値を得る
書式変数 = VAL( 文字列 )
引数文字列数値の入った文字列
戻り数値文字列から取出した数値
STR$
数値から文字列を得る
書式変数$ = STR$( 数値 )
引数数値文字列にしたい数値
戻り文字数値から生成した文字列
HEX$
数値から16進文字列を得る
書式変数$ = HEX$( 数値 )
引数数値16進文字列にしたい数値
戻り文字数値から生成した16進文字列
MID$
文字列の開始位置から指定数分の文字列を取り出す
書式変数$ = MID$( 文字列, 開始位置, 文字数 )
引数文字列元になる文字列
開始位置文字単位の開始位置
文字数取出す文字数
戻り文字切り出した文字列
LEN
文字列内の文字数を得る
書式変数 = LEN( 文字列 )
引数文字列文字数を調べたい文字列
戻り数値文字の数(全ての文字を1文字として数える)

数学に関する関数

RND
指定値までの乱数を得る
書式変数 = RND( 最大値 )
引数最大値生成する数値の最大値
戻り数値0~最大値までの乱数(最大値は含まれない)
ABS
絶対値を得る
書式変数 = ABS( 数値 )
引数数値絶対値を取りたい数値
戻り数値絶対値
SGN
符号取得
書式変数 = SGN( 変数 )
引数数値符号を確認する数値
戻り数値0または、±1
PI
パイを返す
書式変数 = PI()
引数なし
戻り数値円周率の値
RAD
角度情報からラジアン値を得る
書式変数 = RAD( 角度 )
引数角度0~360
戻り数値角度から求めたラジアン数値
DEG
ラジアン情報から角度を得る
書式変数 = DEG( ラジアン値 )
引数角度0~360
戻り数値ラジアン値から求めた角度
SIN
サイン値を返す
書式変数 = SIN( ラジアン値 )
引数ラジアン値角度のラジアン値
戻り数値求めた結果
COS
コサイン値を返す
書式変数 = COS( ラジアン値 )
引数ラジアン値角度のラジアン値
戻り数値求めた結果
TAN
タンジェント値を返す
書式変数 = TAN( ラジアン値 )
引数ラジアン値角度のラジアン値
戻り数値求めた結果
ATAN
アークタンジェント値を返す(第2引数を指定するとATAN2として機能する)
書式変数 = ATAN( ラジアン値 )
ラジアン値 = ATAN( y, x )
引数ラジアン値角度のラジアン値
戻り数値求めた結果
SQR
平方根値を返す
書式変数 = SQR( 数値 )
引数数値平方根を求めたい数値
戻り数値求めた結果
EXP
指数値を求める
書式変数 = EXP( 数値 )
引数数値指数値を求めたい数値
戻り数値求めた結果
LOG
自然対数を求める
書式変数 = LOG( 数値 )
引数数値自然対数を求めたい数値
戻り数値求めた結果
FLOOR
整数部を取り出す
書式変数 = FLOOR( 数値 )
引数なし数値
戻りなし求めた結果

SMILEBASIC仕様・文法

機本要素

数の表現32ビット固定小数(四捨五入) 4096=1.0とする
16進表記&H
2進表記&B
変数英字で始まる8文字以内( ただし、_ は受け付ける )
文字型変数の場合は、最後に$をつける
配列2次元配列まで( 括弧は、 () も [] も受け付ける )
マルチステートメント可能 ( : コロンで区切る)
サブルーチンとネスト制限無し、FOR ~ NEXT も同様 (メモリーの範囲内)
行番号の範囲0~9999
1行の扱い1行100文字まで

表示関係

上画面表示階層(奥)
背景色
 └グラフィック面
  └スプライト(優先順位=3)
   └ユーザー用BG(奥)
    └スプライト(優先順位=2)
     └ユーザー用BG(前)
      └スプライト(優先順位=1)
       └コンソール
        └スプライト(優先順位=0)
(手前)
下画面表示階層(奥)
背景色
 └グラフィック面
  └スプライト(優先順位=3)
   └ユーザー用BG(奥)
    └スプライト(優先順位=2)
     └ユーザー用BG(前)
      └スプライト(優先順位=1)
       └キーボード・パネル
        └スプライト(優先順位=0)
(手前)
グラフィック解像度256x192ドット
コンソール文字数32文字x24行
アニメ機能SPANIM命令による簡易アニメ再生(コマ数、時間、ループ)

入力装置

キーボードソフトウェアキーボード(英字、カナ、記号)
ハードウェアボタン利用可能(STARTとSELECTはシステムで利用)
タッチパネルシステム変数(TCHST、TCHX、TCHY)によって利用可能

算術演算子

+加算(A+B)
-減算(A-B)
*乗算(A*B)
/除算(A/B)※0除算はエラー
%剰余(A%B)※0除算はエラー

比較演算子

>左辺が右辺より大きい(A>B)
<左辺が右辺より小さい(A<B)
>=左辺が右辺より大きいか等しい(A>=B)※=>は禁止
<=左辺が右辺より小さいか等しい(A<=B)※=<は禁止
==両辺が等しい(A==B)
!=両辺が等しくない(A!=B)

ビット演算子

NOT否定
AND論理積
OR論理和
XOR排他的論理和

演算優先順位

1( )[] で囲まれた部分
2マイナス NOT
3関数
4* / %(乗除余)
5+ - (加減)
6< <= > >= (比較)
7== != (比較)
8AND(比較用論理積)
9OR(比較用論理和)
リソース
プログラムおよびデータを管理する単位
プログラムPRGテキスト文字列
メモリーMEM文字列256文字
カラーCOL256色分
グラフィックGRP256x192ドット
スクリーンSCR64x64キャラクタ分
キャラクタCHR8x8ドット、256個単位、画像サイズとしては128x128ドット
なお、この表現は、キャラクタ全体を示す場合の名称であり、 VRAM上の場所を示すための具体的なキャラクタ名称も存在する( BGF、BGD、BGU、SPS、SPD、SPU、SPK )
キャラクタ
リソース(CHR:キャラクタ)のVRAM単位の具体的な名称
フォント用BGBGF1バンク(BGF0)
ユーザー用BGBGU4バンク(BGU0~BGU3)
システム用スプライトSPS2バンク(SPS0~SPS1)
ユーザー用スプライトSPU8バンク(SPU0~SPU7)
カラー
※BGとスプライトは、16色を1パレットと呼び16個のパレットを持つ
BG用BG256色(16色x16種類、ただし種類ごとの0番目は透明)
スプライト用SP256色(16色x16種類、ただし種類ごとの0番目は透明)
グラフィック用GRP256色(ただし0番目は透明)

システムで予約している名称

基本的にユーザーは関数やステートメントを仲介しないで読み(書き)できる

数値R:読みW:書き
CSRX×現在のカーソル位置(横方向)
CSRY×現在のカーソル位置(縦方向)
FREEMEM×残りユーザー用のメモリー容量(キロバイト単位)
VERSION×システムのバージョン(0xAABBCCDD、バージョンAA.BB.CC.DD)
ERR×直前のエラー番号
ERL×エラー発生行番号
RESULT×直前の命令発効後の結果
TCHX×タッチされたx座標
TCHY×タッチされたy座標
TCHST×タッチ状態(TRUE=触られた)
TCHTIME×タッチされ続けている時間(フレーム数)
MAINCNTL×起動時からの経過時間(フレーム単位、ウエイトをとる場合に利用)
MAINCNTH×起動時からの経過時間上位(フレーム単位、ウエイトをとる場合に利用)
TABSTEPTABによる移動量
TRUE×必ず1
FALSE×必ず0
CANCEL×必ず-1
ICONPUSEFALSE=使わない、TRUE=使う
ICONPAGEユーザー用システムアイコンのページ番号
ICONPMAXユーザー用システムアイコンのページ最大値
FUNCNO×押されているファンクションキーの番号( 0~4、-1=押されていない )
FREEVAR×登録可能な変数の数
SYSBEEPシステム効果音の制御(TRUE=あり、FALSE=なし)
文字列R:読みW:書き
TIME$×現在の時刻を文字列として取得(HH:MM:SS)
DATE$×現在の日付を文字列として取得(YYYY/MM/DD)
MEM$ユーザー記憶用文字列(最大255文字)