スペック
スペック
SmileBASICの基本仕様と制限事項です。

編集機能
エディタ行単位のスクリーンエディタ。EDITモードでは自動的に行番号が発生する。
行番号の範囲0〜999999
行番号の扱い行番号に過去のBASICのような意味はなく、スクリーンエディタの行番号として扱う。GOTO等の分岐先は行番号ではなく「@ラベル」を使用する。
行の折り返しあり。オプションで切り替え可能。
1行文字数文字数制限なし(空メモリーに依存)。
マルチプログラムスロット0〜スロット3の4スロットに、別個のプログラムを記憶・実行可能。
SMILEボタン編集中のプログラムを破壊せず、別のプログラムを起動する。
デフォルトでは「SMILEツール」が登録されている。
トップメニューのオプションにて、SMILEボタンに任意のプログラムを割り当てることができる。
入力装置
キーボードソフトウェアキーボード(英字、カナ、欧州文字、記号など)
ハードウェアボタン十字ボタン、A、B、X、Y、L、Rはプログラム中から利用可能
スライドパッド動かした方向、強さ、角度、移動量
拡張スライドパッドスライドパッド相当の情報を拡張スライドパッドから取得
タッチスクリーンタッチ状態、タッチ位置
モーションセンサー3軸の加速度
ジャイロセンサー3軸の角速度と角度
表示関係
表示要素
コンソール
文字(テキスト)を表示する画面
グラフィック
グラフィック描画を行う画面
SPRITE
アニメーション表現が可能なスプライト描画を行う画面
BG
固定サイズのキャラを並べて描画する画面
表示優先順位表示要素ごとのz座標を操作することで自由に設定可能。立体視の場合、z座標が奥行としても扱われる
出力画面上画面と下画面へ個別に表示可能。上下2画面を連続した1枚として扱うことも可能(XSCREEN 4)
グラフィックページ各画面の表示画像を格納するメモリー領域。GRP0〜GRP5の6枚からなる
グラフィック解像度上画面 400×240ドット
下画面 320×240ドット
XSCREEN 4では、上下画面合わせて320×480ドット
3Dスクリーン奥行きz座標で設定
-256(手前)〜1024(奥)
コンソール文字数上画面 50×30
下画面 40×30
XSCREEN4では、上下画面合わせて40×60
コンソール文字色透明色を含む16色から、文字色・背景色に1色ずつ使用可能
サウンド関係
同時発音数BGMと効果音を合わせて24音
効果音プリセット音134種類
周波数、音量、パンポットの変更
同時に8音まで再生
BGM用音源128種類の楽器音
2種類のドラムセット
PSGとノイズ音源
BGM用波形定義32種類の波形定義に対応(WAVSET)
BGMプリセット43曲
ユーザー定義128曲(BGMSET)
最大8曲同時に演奏が可能
音声合成TALK命令で指定文字列の発音可能
エフェクターリバーブ(EFCSET)
プリセット3パターン、各種パラメータ指定可能
サンプリングマイクから音声を録音しBEEPやBGMの音色として再生可能
基本要素
文字コードUNICODE
文字種類数字、英字、ひらがな、カタカナ、ロシア文字、ギリシャ文字、記号
データ型 # 倍精度実数型…変数名末尾が#(省略可能・デフォルト)
データ型 $文字列型…変数名末尾が$
最大長2^31、空メモリーに依存
データ型 %整数型…変数名末尾が%
32ビット符号あり
16進数表記&H
2進数表記&B
変数名英字で始まる任意長の英数字列とアンダースコア
大文字小文字の区別はない。
予約語変数名・ステートメント名として使えない予約語は次のとおり。
IF THEN ELSE ENDIF GOTO GOSUB RETURN ON FOR NEXT WHILE WEND REPEAT UNTIL BREAK CONTINUE DEF END VAR DIM AND OR XOR NOT DATA READ RESTORE PRINT INPUT LINPUT CALL TRUE FALSE SWAP OUT COMMON USE EXEC
暗黙の型変換数値型間で値を交換する場合、すべて暗黙で値が変換される。文字と数値間では変換されない。
ラベル文字列@で始まるラベル名が入った文字列変数
配列4次元配列まで
添字用のかっこは[]のみ。()は対応していない。最大要素数は2^31、空メモリーに依存
マルチステートメント可能
:(コロン)で区切る
サブルーチンとネスト制限なし
プロジェクトファイルを階層化して管理する単位。ルート直下に1階層だけフォルダが作られ、ファイルをまとめて管理できる。
ファイルの種別
TXT
テキスト文字列(プログラムもTXT)
DAT
バイナリ型配列(数値)
演算子
算術演算子
加算(A+B)
-減算(A-B)
*乗算(A*B)
/除算(A/B)※0除算はエラー
MOD剰余(A MOD B)※0除算はエラー
DIV整数除算(A DIV B)
商の小数部を切り捨てる。※0除算はエラー

文字列変数は加算と乗算が利用できます。

(例)文字列の足し算
A$="ABC":B$="XYZ":PRINT A$+B$
結果→ABCXYZ
(例)文字列の掛け算(乗算)
A$="ABC"*4:PRINT A$
結果→ABCABCABCABC
演算子
比較演算子
>左辺が右辺より大きい(A>B)
<左辺が右辺より小さい(A<B)
>=左辺が右辺より大きいか等しい(A>=B)※=>は使えません
<=左辺が右辺より小さいか等しい(A<=B)※=<は使えません
==両辺が等しい(A==B)
1文字の=は代入の意味として使用。
!=両辺が等しくない(A!=B)※<>は使えません
演算子
ビット演算子
AND論理積(A AND B)
OR論理和(A OR B)
XOR排他的論理和(A XOR B)
NOT否定(NOT A)
<<算術シフト左
(A << 1 …左に1ビットシフト)
>>算術シフト右
(A >> 3 …右に3ビットシフト)
演算子
論理演算子
&&かつ (IF A<3 && B==2 THEN ~)
¦¦または (IF A>3 ¦¦ B>3 THEN ~)
!論理反転記号
  • !TRUEは、FALSEと同じ
  • !FALSEは、TRUEと同じ
演算子
演算子優先順位
(高)①()で囲まれた部分
- (単項)、NOT(1の補数)、!(論理反転)
*、/、DIV(整数除算)、MOD
+、-(2項)
<<、>> (シフト)
==、!=、<、<=、>、>=
AND、OR、XOR(ビット演算)
(低)⑧&&、||(論理演算子。ショートカットあり)
CEROレーティングマーク
教育・データベース