SmileBASIC

スペック

『プチコン3号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(ビット演算)
(低)⑧ &&、||(論理演算子。ショートカットあり)
ページトップへ