プチコンmkII

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

NEW プログラムを消す
書式 NEW
引数 なし
戻り なし
LIST ソース編集モードへの切り替えと編集開始
書式 LIST
LIST @ラベル
LIST 行番号
引数 行番号 省略可能、ソースが表示される行の指定
@ラベル 省略可能、ソースが表示される行の指定
戻り なし
RUN プログラムの実行
書式 RUN
引数 なし
戻り なし
CONT STOP命令で停止中のプログラムを再開
書式 CONT
引数 なし
戻り なし
FILES ファイル一覧をコンソール上に表示
書式 FILES [ ファイル種別名 [, ファイル種別名 ... ] ]
引数 ファイル種別名 特定のリソースのみを表示させたい場合に指定
PRG プログラム
MEM メモリー
COL カラー
GRP グラフィック
SCR スクリーン
CHR キャラ
戻り なし
REBOOT BASICを終了してホームメニューに戻る
書式 REBOOT
引数 なし
戻り なし

基本ステートメント

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などで利用。
この記号直後の16文字(スペースは除く)が名前になる、以降改行まで無視。
必ず先頭に@をつけてからLABEL名を書く。
書式 @ラベル名
@SAMPLE 区切りは改行か16文字かスペースまで、そのあと改行まで無視
引数 ラベル名 文字列とは異なり””で囲む必要はない
戻り なし
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 成立時に実行される命令 ELSE不成立時に実行される命令
IF 条件式 THEN @ラベル
IF 条件式 THEN @ラベル ELSE @ラベル
引数 なし
戻り なし
IF~
GOTO
条件判断(複数行には対応しない、ラベルに文字列変数は使えない)
書式 IF 条件式 GOTO @ラベル
IF 条件式 GOTO @ラベル ELSE 不成立時に実行される命令
IF 条件式 GOTO @ラベル ELSE @ラベル
引数 なし
戻り なし
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=無視)
戻り なし
WAIT 画面更新周期との同期(描画待ち)
書式 WAIT フレーム数
引数 フレーム数 現在からの経過フレーム数を指定(0=無視)
戻り なし
SWAP 二つの変数内の数値を入れ替える
書式 SWAP 変数1, 変数2
引数 変数1 数値または文字列変数
変数2 数値または文字列変数
戻り なし
SORT 1次元配列を昇順で並び替える
書式 SORT 開始位置, 要素数, 配列1 [ ,配列2 [ ,配列3... ] ]
引数 開始位置 配列1内のソートを開始する位置(0~
要素数 配列1内のソートする要素数(1~
-1を指定すると開始位置以降全ての要素をソートする。
配列1 ソートする数値の入った配列
戻り なし
RSORT 1次元配列を降順で並び替える
書式 RSORT 開始位置, 要素数, 配列1 [ ,配列2 [ ,配列3... ] ]
引数 開始位置 配列1内のソートを開始する位置(0~
要素数 配列1内のソートする要素数(1~
-1を指定すると開始位置以降全ての要素をソートする。
配列1 ソートする数値の入った配列
戻り なし

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

CLS コンソール画面を消去(下画面に表示されている文字も対象)
書式 CLS
引数 なし
戻り なし
COLOR コンソールに表示する文字の色指定
書式 COLOR 文字色 [,背景色]
引数 文字色 パレット番号0~15(BG用に割り当てられた16色ずつのパレットの一部を利用)
背景色 パレット番号0~15(0=透明)
戻り なし
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$では取得できないキーボードの情報を得るためシステム変数にKEYBOARD追加)
書式 変数$ = INKEY$()
引数 なし
戻り 文字変数 キーボードからの1文字が戻る
BUTTON ハードウェアボタンの状態取得
書式 変数=BUTTON([取得タイプ])
引数 なし、または0 ボタン状態。現在押されていれば対応するビットが1になる。
1 ボタンが押された瞬間だけビットが1になる(リピート機能付き)
2 ボタンが押された瞬間だけビットが1になる(リピート機能なし)
3 ボタンが放された瞬間だけビットが1になる
戻り 数値 ビット単位でボタンの状態
1
2
4
8
16 A
32 B
64 X
128 Y
256 L
512 R
1024 START
2048 SELECT(ESCキーとしてアサインされているため利用できない)
CHKCHR コンソール上の文字番号を調べる
書式 変数 = CHKCHR( x座標,y座標 )
引数 x座標 横方向の座標(0~31)
y座標 縦方向の座標(0~23)
戻り -1=範囲外、0~255=ASCII文字コード
BTRIG ハードウェアボタンの状態取得
書式 変数=BTRIG()
引数 なし
戻り 数値 ビット単位でボタンの状態(BUTTON準拠)
BREPEAT キーリピート機能の設定
書式 BREPEAT ボタンID [,開始時間,インターバル]
引数 ボタンID キーリピート機能を設定するボタンのID
開始時間 キーが押されて始めてからリピートを開始するまでの時間(1/60秒単位)
インターバル リピートが開始した後のリピート間隔(1/60秒単位)
0を指定するとキーリピート機能がOFFになる
開始時間とインターバルを省略した場合、キーリピート機能がOFFになる
ボタンID 0
1
2
3
4 A
5 B
6 X
7 Y
8 L
9 R
10 START
11 SELECT(ESCキーとしてアサインされているため利用できない)

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

LOAD ファイルの読み込み(確認ダイアログの表示)
書式 LOAD ”リソース名:ファイル名” [, 表示制御 ]
引数 リソース名 読み込む対象となるリソースに割り当てられた文字列
PRG プログラム
MEM メモリー
COL0~COL2 カラー
GRP0~GRP3 グラフィック
SCU0~SCU1 BGスクリーン
BGU0~BGU3 キャラBGユーザー用
SPU0~SPU7 キャラスプライトユーザー用
表示制御 FALSE を入れると読み込み時のダイアログ表示を省略
戻り なし
SAVE ファイルの保存(確認ダイアログの表示)
書式 SAVE ”リソース名:ファイル名” [,パッケージパラメータ]
引数 リソース名 ※LOADを参照
パッケージパラメータ PRGのセーブにのみ使用可能。PRGファイルに含める他のリソースを16進文字列で指定する。
戻り なし
EXEC プログラム内から他のプログラムを読み込んで実行する
書式 EXEC ”ファイル名”
引数 ファイル名 実行するプログラムファイル名
戻り なし
DELETE ファイルの消去(確認ダイアログの表示)
書式 DELETE ”ファイル種別名:ファイル名”
引数 ファイル種別名 ※FILESを参照
戻り なし
RENAME ファイル名の変更
書式 RENAME "ファイル種別名:ファイル名", "新しい名前"
引数 ファイル種別名 ※FILESを参照
新しい名前 ファイル種類を含まない単純なファイル名
戻り なし
RECVFILE 他のDSからファイルを受信(確認ダイアログの表示)
書式 RECVFILE ”ファイル種別名:ファイル名”
引数 ファイル種別名 ※FILESを参照
戻り なし
SENDFILE 他のDSへファイルを送信(確認ダイアログの表示)
書式 SENDFILE ”ファイル種別名:ファイル名”
引数 ファイル種別名 ※FILESを参照
戻り なし
APPEND 編集中のプログラムの最後尾に他のプログラムを結合する(実行モード専用)
書式 APPEND ”ファイル名"
引数 ファイル名 プログラムの名前
戻り なし
■パッケージパラメータ リソースの種類を選択するためのビット単位の情報を16進文字列として表現。
b00 SPU0 上画面用ユーザーSPRITEキャラ0
b01 SPU1 上画面用ユーザーSPRITEキャラ1
b02 SPU2 上画面用ユーザーSPRITEキャラ2
b03 SPU3 上画面用ユーザーSPRITEキャラ3
b04 SPU4 上画面用ユーザーSPRITEキャラ4
b05 SPU5 上画面用ユーザーSPRITEキャラ5
b06 SPU6 上画面用ユーザーSPRITEキャラ6
b07 SPU7 上画面用ユーザーSPRITEキャラ7
b08 BGU0U 上画面用ユーザーBGキャラ0
b09 BGU1U 上画面用ユーザーBGキャラ1
b10 BGU2U 上画面用ユーザーBGキャラ2
b11 BGU3U 上画面用ユーザーBGキャラ3
b12 BGUFU 上画面用フォント
b13 COL0U 上画面用BG用の色
b14 COL1U 上画面用SPRITE用の色
b15 COL2U 上画面用グラフィック用の色
b16 SCU0U 上画面用BGスクリーン手前
b17 SCU1U 上画面用BGスクリーン奥
b18 GRP0 グラフィックページ0
b19 GRP1 グラフィックページ1
b20 GRP2 グラフィックページ2
b21 GRP3 グラフィックページ3
b22 MEM メモリー文字列
b23 システム予約
b24 システム予約
b25 システム予約
b26 システム予約
b27 BGU0L 下画面用ユーザーBGキャラ0
b28 BGU1L 下画面用ユーザーBGキャラ1
b29 BGU2L 下画面用ユーザーBGキャラ2
b30 BGU3L 下画面用ユーザーBGキャラ3
b31 BGUFL 下画面用フォント
b32 COL0L 下画面用BG用の色
b33 COL1L 下画面用SPRITE用の色
b34 COL2L 下画面用グラフィック用の色
b35 SCU0L 下画面用BGスクリーン手前
b36 SCU1L 下画面用BGスクリーン奥
b37 システム予約
b38 システム予約
b39 システム予約
b40 システム予約
b41 システム予約
b42 システム予約
b43 システム予約
b44 システム予約
b45 未使用
b46 未使用
b47 未使用

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

VISIBLE 画面表示要素の制御(対象面項目を0で非表示、1で表示)
書式 VISIBLE コンソール,パネル,BG0,BG1,スプライト,グラフィック
引数 コンソール 0=非表示、1=表示
パネル 0=非表示、1=表示
BG0 0=非表示、1=表示
BG1 0=非表示、1=表示
スプライト 0=非表示、1=表示
グラフィック 0=非表示、1=表示
戻り なし
COLINIT 色を初期状態に戻す
書式 COLINIT “色バンク名”, 色番号
引数 色バンク名 色を指定する文字列
BG BGスクリーン用
SP スプライト用
GRP グラフィック用
色番号 0~255
戻り なし
COLSET 新しい色を指定する(BGの0番は、バックドロップ色となる)
書式 COLSET “色バンク名”, 色番号, “色情報文字列”
引数 色バンク名 ※COLINITを参照
色番号 ※COLINITを参照
色情報文字列 16進文字列( RRGGBBの順 )各要素00~FFとする
(例)"FF00AA” ※将来も考えて256段階とした内部で変換必要
戻り なし
COLREAD 指定した色の情報取得
書式 COLREAD( “色バンク名”, 色番号 ), R, G, B
引数 色バンク名 ※COLINITを参照
色番号 ※COLINITを参照
R 赤の色要素を受け取る変数
G 緑の色要素を受け取る変数
B 青の色要素を受け取る変数
戻り なし
ACLS 描画面を初期状態に戻す
・CLS、GCLS、SPCLR、BGCLR、パレット初期化を実行
書式 ACLS
引数 なし
戻り なし

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

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

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

SPPAGE 操作対象スプライト画面の指定
書式 SPPAGE 画面
引数 画面 0=上画面, 1=下画面
戻り なし
SPSET スプライトの定義
・定義することで活動開始となり初期位置は0,0へ
・横幅縦幅の組合せは以下の12通り
 8x8,16x16,32x32,64x64,8x16,8x32,16x32,32x64,16x8,32x8,32x16,64x32
書式 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奥の後ろ
横幅 スプライト横幅(省略時16)
8 横幅8ドット
16 横幅16ドット
32 横幅32ドット
64 横幅64ドット
縦幅 スプライト縦幅(省略時16、指定できるサイズの種類は横幅と共通)
戻り なし
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~(ループ回数)※省略時無限ループとなる
戻り なし
SPOFS スプライト座標の変更
書式 SPOFS 管理番号, x座標, y座標 [, 補間時間 ]
引数 管理番号 0~99
x座標 -1024~+1024
y座標 -1024~+1024
補間時間 現在の状態と新しい値の間を自動補間する時間(1=1/60秒)
戻り なし
SPANGLE スプライト角度の変更
書式 SPANGLE 管理番号, 角度 [, 補間時間, 変化方向 ]
引数 管理番号 0~31
角度 0~360
補間時間 現在の状態と新しい値の間を自動補間する時間(1=1/60秒)
変化方向 1=時計回り, -1=反時計回り(省略時時計回り)
戻り なし
SPSCALE スプライトスケールの変更
書式 SPSCALE 管理番号, スケール [, 補間時間 ]
引数 管理番号 0~31
スケール 0~200(パーセント相当)
補間時間 現在の状態と新しい値の間を自動補間する時間(1=1/60秒)
戻り なし
SPCHK 自動補間の状態取得
・mk2以前のSPCHK()の返り値をTRUEで判定している場合は修正が必要
書式 変数 = SPCHK( 管理番号 )
引数 管理番号 0~99
戻り 状態 0=補間終了、0以外の時補間中(ビットごとに状態を管理)
1 位置の補間状態
2 角度の補間状態
4 スケールの補間状態
SPREAD 指定したスプライトの情報取得
・取得する必要のない項目は省略可能
・XとYのみ取得する場合、それ以降の変数は省略可能
書式 SPREAD( 管理番号 ) ,X ,Y [ ,A ] [ ,S ] [ ,C ]
引数 管理番号 0~99
X x座標を受け取る変数
Y y座標を受け取る変数
A 回転情報を受け取る変数
S スケール情報を受け取る変数
C キャラ情報を受け取る変数
戻り なし
SPSETV スプライト用変数への書込み
・インタプリタ側では使用しないユーザー用のワーク
書式 SPSETV 管理番号,変数番号,数値
引数 管理番号 0~99
変数番号 0~7
数値
戻り なし
SPGETV スプライト用内部変数の読込み
書式 変数=SPGETV( 管理番号,変数番号 )
引数 管理番号 0~99
変数番号 0~7
戻り 数値 SPSETVで書込んだ値
SPHOME スプライトホーム位置の指定
・SPOFS命令の位置基準点
・回転やスケーリングの中心点
・当たり判定の中心座標
書式 SPHOME 管理番号, x位置, y位置
引数 管理番号 0~99
x位置 左上を原点(0,0)とした相対座標(省略時0)
y位置 左上を原点(0,0)とした相対座標(省略時0)
戻り なし
SPCOL スプライト衝突判定用の矩形の定義
・衝突判定はスプライト回転の影響は受けません
書式 SPCOL 管理番号, x位置, y位置,横幅, 縦幅, スケール対応 [ , グループ ]
引数 管理番号 0~99
x位置 SPHOMEを原点(0,0)とした相対座標
y位置 SPHOMEを原点(0,0)とした相対座標
横幅 0~255(省略時、スプライト幅)
縦幅 0~255(省略時、スプライト高さ)
スケール対応 FALSE=無視、TRUE=SPSCALEの指定に判定サイズを同期(省略時=TRUE)
グループ 0~255(ビット単位でグループ属性を管理)
戻り なし
SPCOLVEC スプライト衝突判定用の移動速度の定義
・移動量省略時デフォルト設定( SPOFSの移動設定値*直前のVSYNC値/60)
・SPOFSで移動設定していない場合は(0,0)
書式 SPCOLVEC 管理番号 [ ,移動量x, 移動量y ]
引数 管理番号 0~99
移動量x 数値
移動量y 数値
戻り なし
SPHITSP スプライト同士の衝突判定
・衝突していた場合、結果をシステム変数に残す(SPHITX,SPHITY,SPHITT)
書式 SPHITSP( 管理番号 ,相手管理番号 )
引数 管理番号 0~99
相手管理番号 0~99
戻り 結果 FALSE=衝突なし、TRUE=衝突
SPHIT スプライト同士の衝突判定
・SPCOLで指定されたグループに含まれる相手との衝突判定を行う
・衝突していた場合、結果をシステム変数に残す(SPHITNO,SPHITX,SPHITY,SPHITT)
書式 SPHIT( 管理番号 [ ,判定開始管理番号 ] )
引数 管理番号 0~99
判定開始管理番号 0~99
戻り 結果 FALSE=衝突なし、TRUE=衝突
SPHITRC スプライトと矩形との衝突判定
書式 SPHITRC( 管理番号 ,始点x, 始点y, 横幅, 縦幅 [ ,移動量x, 移動量y ] )
引数 管理番号 0~99
始点x ±1024
始点y ±1024
横幅 1~
縦幅 1~
移動量x ±16.0
移動量y ±16.0
戻り 結果 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座標 [, 補間時間 ]
引数 レイヤー 0=手前, 1=奥
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=縦反転
戻り なし
BGPUT 指定位置のBGスクリーンにスクリーンデータ形式で書き込み
書式 BGPUT レイヤー, x座標, y座標, スクリーンデータ
引数 レイヤー 0=手前, 1=奥
x座標 横方向の座標(0~63)
y座標 縦方向の座標(0~63)
スクリーンデータ BGスクリーンの状態を表す16ビット数値( &H0000~&HFFFF )
b0
b1
b2
b3
b4 │ キャラクタ番号( 0~1023 )
b5
b6
b7
b8
b9
b10 横反転
b11 縦反転
b12
b13 │ パレット番号( 0~15 )
b14
b15
戻り なし
BGPUT 指定位置のBGスクリーンにスクリーンデータ文字列形式で書き込み
・スクリーンデータ文字列は最大8x8個分のBGスクリーン分の定義が可能
書式 BGPUT レイヤー, x座標, y座標, スクリーンデータ文字列
引数 レイヤー 0=手前, 1=奥
x座標 横方向の座標(0~63)
y座標 縦方向の座標(0~63)
スクリーンデータ文字列 スクリーンデータを表す16進数4桁の文字列("0000"~"FFFF")
戻り なし
BGPUT 0,0,"0001"
BGREAD 指定位置のBGスクリーンから情報を取得
書式 BGREAD( レイヤー, x座標, y座標 ), CHR, PAL, H, V
引数 レイヤー 0=手前, 1=奥
x座標 横方向の座標(0~63)
y座標 縦方向の座標(0~63)
CHR キャラ番号を受け取る変数
PAL パレット番号を受け取る変数
H H反転を受け取る変数
V V反転を受け取る変数
戻り なし
BGREAD 指定位置のBGスクリーンから情報を取得
書式 BGREAD( レイヤー, x座標, y座標 ), C
引数 レイヤー 0=手前, 1=奥
x座標 横方向の座標(0~63)
y座標 縦方向の座標(0~63)
C スクリーンデータを受け取る変数
戻り なし
BGREAD 指定位置のBGスクリーンから情報を取得
書式 BGREAD( レイヤー, x座標, y座標 ), C$
引数 レイヤー 0=手前, 1=奥
x座標 横方向の座標(0~63)
y座標 縦方向の座標(0~63)
C$ スクリーンデータ文字列を受け取る変数
戻り なし
BGFILL 指定範囲のBGスクリーンを塗りつぶす
書式 BGFILL レイヤー, x始点, y始点, x終点, y終点, キャラ番号, パレット番号, h反転, v反転
引数 レイヤー 0=手前, 1=奥
始点x座標 横方向の座標(0~63)
始点y座標 縦方向の座標(0~63)
終点x座標 横方向の座標(0~63)
終点y座標 縦方向の座標(0~63)
キャラ番号 0~1023
パレット番号 0~15
h反転 0=なし、1=横反転
v反転 0=なし、1=縦反転
戻り なし
BGFILL 指定範囲のBGスクリーンを塗りつぶす
書式 BGFILL レイヤー, x始点, y始点, x終点, y終点, スクリーンデータ
引数 レイヤー 0=手前, 1=奥
始点x座標 横方向の座標(0~63)
始点y座標 縦方向の座標(0~63)
終点x座標 横方向の座標(0~63)
終点y座標 縦方向の座標(0~63)
スクリーンデータ BGスクリーンの状態を表す16ビット数値( &H0000~&HFFFF )
戻り なし
BGFILL 指定範囲のBGスクリーンを塗りつぶす
書式 BGFILL レイヤー, x始点, y始点, x終点, y終点, スクリーンデータ文字列
引数 レイヤー 0=手前, 1=奥
始点x座標 横方向の座標(0~63)
始点y座標 縦方向の座標(0~63)
終点x座標 横方向の座標(0~63)
終点y座標 縦方向の座標(0~63)
スクリーンデータ文字列 スクリーンデータを表す16進数4桁の文字列("0000"~"FFFF")最大64キャラ分
戻り なし
BGCLR BGスクリーンを消去
書式 BGCLR [ レイヤー ]
引数 レイヤー 0=手前, 1=奥(省略全てのレイヤー)
戻り なし
BGCHK BGOFSの自動補間状態取得
書式 変数 = BGCHK( レイヤー )
引数 レイヤー 0=手前, 1=奥
戻り 状態 0=補間終了、0以外の時補間中(ビットごとに状態を管理)
1 位置の補間状態
BGCOPY 指定範囲のBGスクリーンをコピー
書式 BGCOPY レイヤー,x始点, y始点, x終点, y終点, 転送先x座標, 転送先y座標
引数 レイヤー 0=手前, 1=奥
始点x座標 横方向の座標(0~63)
始点y座標 縦方向の座標(0~63)
終点x座標 横方向の座標(0~63)
終点y座標 縦方向の座標(0~63)
転送先x座標 横方向の座標(0~63)
転送先y座標 縦方向の座標(0~63)
戻り なし

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

GPAGE 操作対象グラフィック画面の指定
・上下1画面ずつから内部4画面を自由に割り当てる仕様に変更
書式 GPAGE 操作画面 [ ,描画ページ ] [ ,表示ページ ]
引数 操作画面 0=上画面, 1=下画面
描画ページ 0~3
表示ページ 0~3
戻り なし
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の色)
境界色 0~255(省略時は指定位置の色に隣接する同一色が塗りつぶし対象)
戻り なし
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~191
半径 0~255
0~255(省略時はGCOLORの色)
開始角 0~360
終了角 0~360
戻り なし
GPUTCHR 指定されたキャラクタの画像情報をグラフィック画面に表示
書式 GPUTCHR x座標, y座標, ”キャラ名”, 番号, パレット番号, スケール
引数 x座標 0~255
y座標 0~191
キャラ名 ※CHRINIT参照
番号 キャラクタ番号(0~255)
パレット番号 キャラクタ用の色(0~15)
スケール 拡大率(1,2,4,8)
戻り なし
GSPOIT 指定位置の色を調べる
書式 変数 = GSPOIT( [対象ページ, ] x座標, y座標 )
引数 対象ページ 0~3 (省略時対象ページ)
x座標 0~255
y座標 0~191
戻り 0~255(範囲外の場合-1)
GDRAWMD 描画モードの変更
書式 GDRAWMD 状態
引数 状態 0=通常の色描画、1=XOR描画
戻り なし
GPRIO 操作対象グラフィック画面の表示優先順位変更
書式 GPRIO 優先順位
引数 優先順位 0~3(スプライトの優先順位と同じだが、同一優先順位ではスプライトの後)
戻り なし
GCOPY グラフィック画面のコピー
書式 GCOPY [転送元ページ,] 始点x座標, 始点y座標, 終点x座標, 終点y座標, 転送先x座標, 転送先y座標, コピーモード
引数 転送元ページ 0-3(省略時は描画対象ページ)
始点x座標 0~255
始点y座標 0~191
終点x座標 0~255
終点y座標 0~191
転送先x座標 0~255
転送先y座標 0~191
コピーモード FALSE: カラー0のピクセルはコピーしない
TRUE: カラー0のピクセルもコピーする
戻り なし

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

BEEP 単純な警告音の発生
書式 BEEP [ 波形番号 ]  [ ,周波数 ,音量 ,パンポット ]
引数 波形番号 0~69(省略時は0番、単純なPSG音)
周波数 ±8192(-8192=2オクターブ下、8192=2オクターブ上)
音量 0~127
パンポット 0(左)~64(中央)~127(右)
戻り なし
■プリセット
0BEEP
1ノイズ
2カーソル移動
3決定
4キャンセル
5上昇
6下降
7コイン
8ジャンプ
9着地
10発射
11ダメージ
12金属
13爆発
14叫び声
15ブレーキ
16バンジョー
17シンセストリングス
18シンセブラス
19シンセベース
20ギター
21オルガン
22ピアノ
23カウベル
24タム
25シンバル
26オープンハイハット
27クローズハイハット
28ハンドクラップ
29リムショット
30スネアドラム
31バスドラム
32OK2
33BALL
34和風
35VOLT
36AUTO
37キラ
38ESC
39バンジョー2
40スクラッチ
41ギター2
42オルガン2
43ピアノ2
44PASS
45UP2
46録音
47シンセタム
48カウベル2
49metro
50tri
51コンガ
52ダンスBD
53ダンスSD
54ダンスHH
55ヒット
56ティンバレス
57チャイニーズシンバル
58ミニシンバル
59シェーカー
60
61太鼓
62シンセ
63かっこう
64パフ!
65nohkan
66humandr1
67humandr2
68
69

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

BGMPLAY 音楽演奏開始
・同時に8曲演奏可能(ただし同時発音数は全体で16音まで)
・MML文字列は文字列の長さ制限に対応するため複数に分割した文字列での指定が可能
書式 BGMPLAY トラック番号, 曲番号 [, トラック音量 ]
BGMPLAY MML文字列 [ ,MML文字列... ]
引数 トラック番号 0~7(省略時は0番。トラック音量指定時は省略不可)
曲番号 0~29/128~255(ユーザー定義曲)
トラック音量 0~127
MML文字列 音楽演奏用の専用言語文字列 ※MMLコマンド一覧参照
戻り なし
BGMSTOP 音楽演奏停止
書式 BGMSTOP [ トラック番号 ] [ , フェード時間 ]
引数 トラック番号 0~7(省略時は0番)
フェード時間 秒(少数指定可能、0の時即時停止、省略時0扱い)
戻り なし
BGMCHK 音楽の演奏状態調査
書式 変数=BGMCHK( [ トラック番号 ] )
引数 トラック番号 0~7(省略時は0番)
戻り 数値 FALSE=停止中、TRUE=演奏中
BGMVOL トラックごとの音量調整
書式 BGMVOL [ トラック番号, ] 音量
引数 トラック番号 0~7(省略時は0番)
トラック音源 0~127
戻り なし
BGMSET ユーザー定義音楽の事前定義
書式 BGMSET 曲番号, MML文字列 [ ,MML文字列... ]
引数 曲番号 128~255
MML文字列 音楽演奏用の専用言語文字列 ※MMLコマンド一覧参照
戻り なし
BGMSETD ユーザー定義音楽の事前定義
・DATA文を利用してMMLを内部に登録( DATA "CDEFGAB" )
・DATAの終端は数値で判断( DATA 0 )
・RESTOREと同じ扱いのためBGMSETD後にREADする場合はRESTOREを使うこと
書式 BGMSETD 曲番号, @ラベル(または、ラベル名が入った文字列変数)
引数 曲番号 128~255
@ラベル DATA文でMML相当の文字列が登録されているラベル
戻り なし
BGMCLEAR ユーザー定義音楽の消去
書式 BGMCLEAR [曲番号 ]
引数 曲番号 128~255(省略時全ての定義を消去)
戻り なし
BGMSETV MML内部変数への書込み
書式 BGMSETV トラック番号, 変数番号,値
引数 トラック番号 0~7
変数番号 0~7(MMLの$0~$7)
変数に書き込む値
戻り なし
BGMGETV MML内部変数の読込み
書式 BGMGETV( トラック番号, 変数番号 )
引数 トラック番号 0~7
変数番号 0~7(MMLの$0~$7)
戻り 数値 演奏中の指定された変数の内容(演奏停止中は-1)
BGMPRG BGMの楽器音用簡易波形の定義
・波形データは2文字で符号付1バイトの情報を表す
・&H80(-128) ~ 0 ~ &H7F(127)
書式 BGMPRG 波形番号, アタック, ディケイ, サスティン, リリース, 波形文字列
引数 波形番号 224~255(MMLの@コマンドで指定する楽器番号)
アタック エンベロープ定義パラメータ。0-127
ディケイ エンベロープ定義パラメータ。0-127
サスティン エンベロープ定義パラメータ。0-127
リリース エンベロープ定義パラメータ。0-127
波形文字列 16進数文字列。2文字で1サンプルの値(8bit)をあらわす。64(128文字)サンプル又は128(256文字)サンプルの指定が可能。
戻り なし
■プリセット
0 軽快な曲
1 湿った暗い感じの曲
2 緊張感高まる曲
3 激しくアップテンポな曲
4 スタートジングル
5 クリアジングル
6 ゲームオーバー
7 メニューセレクト
8 結果発表
9 スタッフロール
10 スタッフロール その2
11 時代劇ゲーム風
12 軽快なマーチバンド風
13 激しいロック調
14 軽快な曲 その2
15 WOND
16 考え中
17 WOND2
18 未来系
19 BAL
20 BAL_2
21 スパイ系
22 SCI
23 シューティング
24 パッド
25 SEN
26 ピュア
27 ROA
28 CUR
29 FIG
■MMLコマンド一覧 トラックの優先順位は、高8--->0低
:数値 チャンネル指定( :0 ~ :7 )
T数値 テンポ指定 ( T1 ~ T240 )
C D E F G A B 音階(直接長さの指定が無い場合、Lで設定したデフォルト長さで発声)●
C# D# E# F# G# A# B# 半音高い音階 ●
C- D- E- F- G- A- B- 半音低い音階 ●
C1 C2 C4 C8 C16 C32 直接長さを指定(長さ1,2,4,8,16,32、及び付点記号 . )
C1. C2. C4. C8. C16. C32. 付点付の長さを直接指定
N数値 キーを数値指定( N0 ~ N127 ) ※音長はデフォルト ●
R 休符(音程と同じように直接長さの指定可能)●
O数値 オクターブ指定( O0 ~ O8 )
< オクターブ上げる
> オクターブ下げる
L数値 デフォルト音長を指定( L1, L2, L4, L8, L16, L32付点の場合は . を付ける )
V数値 ベロシティ指定( V0 ~ V127 )●
(数値 ベロシティ上げる( (0 ~ ( 127 )
)数値 ベロシティ下げる( )0 ~ ) 127 )
@V数値 トラックボリューム指定 ( @V0 ~ @V127 )●
@数値 音色の変更( @0 ~ @127 )
P数値 パンポット( P0 ~ P127 )●
[ ループ開始
]数値 指定回数ループ。数値省略時は無限ループ ●
& タイまたはスラー
_ ポルタメント
@D数値 デチューン( @D-128 ~ @D127 )●
Q数値 ゲート設定( Q0 ~ Q8 )
@MA数値DP,数値R,数値S,数値DL 音量モジューレション(トレモロ)
Depth
Range
Speed
Delay
@MP数値DP,数値R,数値S,数値DL 音程モジュレーション(ビブラート)
Depth
Range
Speed
Delay
@MON モジューレションON @MA、@MPで事前に設定されているモジュレーションを始動
@MOF モジューレションOFF
@E数値A,数値D,数値S,数値R エンベロープ設定
Attack Time
Decay Time
Sustain Level
Release Time
@ER エンベロープリセット
$変数番号 変数。数値指定のかわりに使用可能( 変数番号=0~7 )
$変数番号=数値 変数への数値代入( 0 ~ 255 )( 変数番号=0~7 )
上記、説明末尾に●のついたコマンドの数値として利用可能
■楽器音(@0~@127)
0 Acoustic Grand Piano
1 Bright Acoustic Piano
2 Electric Grand Piano
3 Honky-tonk Piano
4 Electric Piano 1
5 Electric Piano 2
6 Harpsichord
7 Clavi
8 Celesta
9 Glockenspiel
10 Music Box
11 Vibraphone
12 Marimba
13 Xylophone
14 Tubular Bells
15 Dulcimer
16 Drawbar Organ
17 Percussive Organ
18 Rock Organ
19 Church Organ
20 Reed Organ
21 Accordion
22 Harmonica
23 Tango Accordion
24 Acoustic Guitar (nylon)
25 Acoustic Guitar (steel)
26 Electric Guitar (jazz)
27 Electric Guitar (clean)
28 Electric Guitar (muted)
29 Overdriven Guitar
30 Distortion Guitar
31 Guitar Harmonics
32 Acoustic Bass
33 Electric Bass (finger)
34 Electric Bass (pick)
35 Fretless Bass
36 Slap Bass 1
37 Slap Bass 2
38 Synth Bass 1
39 Synth Bass 2
40 Violin
41 Viola
42 Cello
43 Contrabass
44 Tremolo Strings
45 Pizzicato Strings
46 Orchestral Harp
47 Timpani
48 String Ensembles 1
49 String Ensembles 2
50 Synth Strings 1
51 Synth Strings 2
52 Voice Aahs
53 Voice Oohs
54 Synth Voice
55 Orchestra Hit
56 Trumpet
57 Trombone
58 Tuba
59 Muted Trumpet
60 French Horn
61 Brass Section
62 Synth Brass 1
63 Synth Brass 2
64 Soprano Sax
65 Alto Sax
66 Tenor Sax
67 Baritone Sax
68 Oboe
69 English Horn
70 Bassoon
71 Clarinet
72 Piccolo
73 Flute
74 Recorder
75 Pan Flute
76 Blown Bottle
77 Shakuhachi
78 Whistle
79 Ocarina
80 Lead 1 (square)
81 Lead 2 (sawtooth)
82 Lead 3 (calliope)
83 Lead 4 (chiff)
84 Lead 5 (charang)
85 Lead 6 (voice)
86 Lead 7 (fifths)
87 Lead 8 (bass + lead)
88 Pad 1 (new age)
89 Pad 2 (warm)
90 Pad 3 (polysynth)
91 Pad 4 (choir)
92 Pad 5 (bowed)
93 Pad 6 (metallic)
94 Pad 7 (halo)
95 Pad 8 (sweep)
96 FX 1 (rain)
97 FX 2 (soundtrack)
98 FX 3 (crystal)
99 FX 4 (atmosphere)
100 FX 5 (brightness)
101 FX 6 (goblins)
102 FX 7 (echoes)
103 FX 8 (sci-fi)
104 Sitar
105 Banjo
106 Shamisen
107 Koto
108 Kalimba
109 Bag pipe
110 Fiddle
111 Shanai
112 Tinkle Bell
113 Agogo
114 Steel Drums
115 Woodblock
116 Taiko Drum
117 Melodic Tom
118 Synth Drum
119 Reverse Cymbal
120 Guitar Fret Noise
121 Breath Noise
122 Seashore
123 Bird Tweet
124 Telephone Ring
125 Helicopter
126 Applause
127 Gunshot
■楽器音(@128ドラム/@129エレドラム)
35 B1 Acoustic Bass Drum 2909BD
36 C2 Acoustic Bass Drum 1808BDTom
37 C2# Side Stick808RimShot
38 D2 Acoustic Snare808SD
39 D2# Hand Clap
40 E2 Electric Snare909SD
41 F2 Low Floor Tom808Tom
42 F2# Closed Hi-hat808CHH
43 G2 High Floor Tom808Tom
44 G2# Pedal Hi-hat808CHH
45 A2 Low Tom808Tom
46 A2# Open Hi-hat808OHH
47 B2 Low-Mid Tom808Tom
48 C3 High Mid Tom808Tom
49 C3# Crash Cymbal 1808Cymbal
50 D3 High Tom808Tom
51 D3# Ride Cymbal 1
52 E3 Chinese Cymbal
53 F3 Ride Bell
54 F3# Tambourine
55 G3 Splash Cymbal
56 G3# Cowbell808Cowbell
57 A3 Crash Cymbal 2
58 A3# Vibra-slap
59 B3 Ride Cymbal 2
60 C4 High Bongo
61 C4# Low Bongo
62 D4 Mute Hi Conga808Conga
63 D4# Open Hi Conga808Conga
64 E4 Low Conga808Conga
65 F4 High Timbale
66 F4# Low Timbale
67 G4 High Agogo
68 G4# Low Agogo
69 A4 Cabasa
70 A4# Maracas808Maracas
71 B4 Short Whistle
72 C5 Long Whistle
73 C5# Short Guiro
74 D5 Long Guiro
75 D5# Claves808Claves
76 E5 Hi Wood Block
77 F5 Low Wood Block
78 F5# Mute Cuica
79 G5 Open Cuica
80 G5# Mute Triangle
81 A5 Open Triangle
■楽器音(@144~@150PSG/@151ノイズ)
144 デューティー比 12.5% のPSG
145 デューティー比 25.0% のPSG
146 デューティー比 37.5% のPSG
147 デューティー比 50.0% のPSG
148 デューティー比 62.5% のPSG
149 デューティー比 75.0% のPSG
150 デューティー比 87.5% のPSG
151 ノイズ
■楽器音(@224~@255ユーザー波形)
224 ユーザー波形1
225 ユーザー波形2
226 ユーザー波形3
227 ユーザー波形4
228 ユーザー波形5
229 ユーザー波形6
230 ユーザー波形7
231 ユーザー波形8
232 ユーザー波形9
233 ユーザー波形10
234 ユーザー波形11
235 ユーザー波形12
236 ユーザー波形13
237 ユーザー波形14
238 ユーザー波形15
239 ユーザー波形16
240 ユーザー波形17
241 ユーザー波形18
242 ユーザー波形19
243 ユーザー波形20
244 ユーザー波形21
245 ユーザー波形22
246 ユーザー波形23
247 ユーザー波形24
248 ユーザー波形25
249 ユーザー波形26
250 ユーザー波形27
251 ユーザー波形28
252 ユーザー波形29
253 ユーザー波形30
254 ユーザー波形31
255 ユーザー波形32

音声合成に関するステートメントと関数

TALK 音声合成による発声
・音声文字列は最大で1000文字まで利用可能
・最大長はコントロールコマンドの使用数に応じて短くなります
書式 TALK 音声文字列 [ ,音声文字列... ]
引数 音声文字列 音声合成用の専用言語文字列 ※TALKコマンド一覧参照
戻り なし
TALKSTOP 再生中の音声を停止
書式 TALKSTOP
引数 なし
戻り なし
TALKCHK 音声合成の状態調査
書式 変数=TALKCHK()
引数 なし
戻り 数値 FALSE=停止中、TRUE=再生中
■TALKコマンド一覧
カナ文字 そのまま文字を発音
'  アクセント
/  アクセント区切り
|  フレーズ区切り
_  ポーズ
.  文末(通常)
?  文末(疑問)
!  文末(驚き)
%  直前母音の無声化
@Hn  韻律(0:標準語, 1:ギャル風, 2:外人風, 3:関西弁風)
@Nn  ピッチ制御(0~3500)
@Tn  発声速度(0~1000)
@Vn  ボリューム制御(0-80)
@Sn  話者切り替え(0-11)
@En  感情切り替え(0-16)

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

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進文字の桁数。省略可。
戻り 文字 数値から生成した16進文字列
MID$ 文字列の開始位置から指定数分の文字列を取り出す
書式 変数$ = MID$( 文字列, 開始位置, 文字数 )
引数 文字列 元になる文字列
開始位置 文字単位の開始位置
文字数 取出す文字数
戻り 文字 切り出した文字列
LEN 文字列内の文字数を得る
書式 変数 = LEN( 文字列 )
引数 文字列 文字数を調べたい文字列
戻り 数値 文字の数(全ての文字を1文字として数える)
LEFT$ 文字列の左端から指定数分の文字列を取り出す
書式 変数$ = LEFT$( 文字列, 文字数 )
引数 文字列 元になる文字列
文字数 取出す文字数
戻り 文字 切り出した文字列
RIGHT$ 文字列の右端から指定数分の文字列を取り出す
書式 変数$ = RIGHT$( 文字列, 文字数 )
引数 文字列 元になる文字列
文字数 取出す文字数
戻り 文字 切り出した文字列
* 文字列の掛け算表現
書式 変数$ = 文字列 *回数
引数 文字列 元になる文字列
回数 指定された文字列をくりかえす回数
戻り 文字 文字列を回数分繰り返して生成された文字列
INSTR 文字列内に検索対象文字列を探す
書式 変数 = INSTR( [開始位置,]文字列,検索対象文字列 )
引数 開始位置 0~文字単位の開始位置
文字列 元になる文字列
検索対象文字列 検索対象となる文字列
戻り 数値 見つかった場合文字列内の位置(-1=見つからない)
SUBST$ 文字列の置換
書式 変数$ = SUBST$( 文字列, 開始位置, 文字数,置換文字列 )
引数 文字列 元になる文字列
開始位置 元になる文字列の置換開始位置(0~文字数-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( 数値 )
引数 数値 数値
戻り 数値 求めた結果
POW べき乗を求める
書式 変数 = POW(数値, べき乗数値 )
引数 数値 数値
べき乗数値 べき乗する値
戻り 数値 数値をべき乗数値でべき乗計算した値

Smile BASIC仕様

■基本要素
文字 マルチバイト文字で管理
文字種類 数字、英数字、カナ、記号
数の表現 32ビット固定小数(四捨五入) 4096=1.0とする
16進表記 &H
2進表記 &B
変数 英字で始まる16文字以内( ただし、_ は受け付ける )
文字型変数の場合は、最後に$をつける
ラベル文字列 @で始まるラベル名が入った文字列変数
配列 2次元配列まで( 括弧は、 () も [] も受け付ける )
256K
マルチステートメント 可能 ( : コロンで区切る)
サブルーチンとネスト 制限無し、FOR ~ NEXT も同様 (メモリーの範囲内)
■編集機能
エディタ 行単位のスクリーンエディタ。テキスト編集モードでは自動的に行番号が行に対して発生する。テキストは折り返し表現しない。
行番号の範囲 1~9999
行番号の扱い 過去のBASICのように行番号に意味は無く、スクリーンエディタの行の番号として扱う。改行で自動的に増加。なお、GOTO等の分岐命令については、行番号ではなく「@ラベル」を利用する。
ワードラップ しない
1行の扱い 1行100文字まで、画面に表示できない範囲は横方向へのスクロールで確認
■表示関係 ※USERスプライトは、USER用BG面に対して優先順位設定可能
上画面表示階層 (奥)
背景色
 グラフィック面
  SPRITE(優先順位=3)
   ユーザー用BG(奥)
    SPRITE(優先順位=2)
     ユーザー用BG(前)
      SPRITE(優先順位=1)
       コンソール
        SPRITE(優先順位=0)
(前)
下画面表示階層 (奥)
背景色
 グラフィック面
  SPRITE(優先順位=3)
   ユーザー用BG(奥)
    SPRITE(優先順位=2)
     ユーザー用BG(前)
      SPRITE(優先順位=1)
       キーボード・パネル
        SPRITE(優先順位=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 排他的論理和
■論理演算子
! 論理否定(!TRUE→FALSE, !FALSE→TRUE)
■演算優先順位
1 ( )[] で囲まれた部分
2 マイナス NOT !
3 関数
4 * / %(乗除余)
5 + - (加減)
6 == != < <= > >= (比較)
7 AND OR XOR
■リソース プログラムおよびデータを管理する単位
プログラム PRG テキスト文字列
メモリー MEM 文字列256文字
カラー COL 256色分
グラフィック GRP 256x192ドット
スクリーン SC 64x64キャラクタ分
キャラクタ CHR 8x8ドット、256個単位、画像サイズとしては256x64ドット
なお、この表現は、キャラクタ全体を示す場合の名称であり、
VRAM上の場所を示すための具体的なキャラクタ名称も存在する。
( BGF、BGD、BGU、SPS、SPU )
■キャラクタ リソース(CHR:キャラクタ)のVRAM単位の具体的な名称
ユーザー用BG BGU 4バンク(BGU0~BGU3)
ユーザー用SPRITE SPU 8バンク(SPU0~SPU7) ※16x16単位で番号管理
■カラー BGとスプライトは、16色を1パレットと呼び16個のパレットを持つ
BG用 BG 256色(16色x16種類、ただし種類ごとの0番目は透明)
スプライト用 SP 256色(16色x16種類、ただし種類ごとの0番目は透明)
グラフィック用 GRP 256色(ただし0番目は透明)
■サウンド機能
制御要素 BGMは再生と停止、効果音は周波数、音量、パンポット指定可能
同時再生数 BGM1曲、効果音4種類
効果音 0~69までの70音
BGM プリセットは0~29までの30曲、ユーザー用として128~255までの128曲
音声合成 任意のカナ文字列を発声

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

■数値 R W
CSRX × 現在のカーソル位置(横方向)
CSRY × 現在のカーソル位置(縦方向)
FREEMEM × 残りユーザー用のメモリー容量(キロバイト単位)
VERSION × システムのバージョン(0xAABBCCDD、バージョンAA.BB.CC.DD)
ERR × 直前のエラー番号
ERL × エラー発生行番号
RESULT × 直前の命令発効後の結果
TCHX × タッチされたx座標
TCHY × タッチされたy座標
TCHST × タッチ状態(TRUE=触られた)
TCHTIME × タッチされ続けている時間(フレーム数)
MAINCNTL × 起動時からの経過時間(フレーム単位、ウエイトをとる場合に利用)
MAINCNTH × 起動時からの経過時間上位(フレーム単位、ウエイトをとる場合に利用)
TABSTEP TABによる移動量
TRUE × 必ず1
FALSE × 必ず0
CANCEL × 必ず-1
ICONPUSE FALSE=使わない、TRUE=使う
ICONPAGE ユーザー用システムアイコンのページ番号
ICONPMAX ユーザー用システムアイコンのページ最大値
FUNCNO × 押されているファンクションキーの番号( 1~5、0=押されていない)
FREEVAR × 登録可能な変数の数
SYSBEEP システム効果音の制御(TRUE=あり、FALSE=なし)
KEYBOARD × キースキャンコード
SPHITNO × スプライト衝突判定の結果(-1=なし、0~99=相手の番号)
SPHITX × スプライト衝突時のx座標
SPHITY × スプライト衝突時のy座標
SPHITT × スプライト衝突時の時刻
■文字列 R W
TIME$ × 現在の時刻を文字列として取得(HH:MM:SS)
DATE$ × 現在の日付を文字列として取得(YYYY/MM/DD)
MEM$ ユーザー記憶用文字列(最大255文字)
PRGNAME$ × LOAD/EXECで読み込んだPRGファイルのファイル名
PACKAGE$ × LOAD/EXECで読み込んだPRGファイルのパッケージマスク文字列
■キーコード(システム変数 KEYBOARD の値 )
なし 0
ESC 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
0 11
- 12
+ 13
= 14
BS 15
$ 16
" 17
Q 18
W 19
E 20
R 21
T 22
Y 23
U 24
I 25
O 26
P 27
@ 28
* 29
( 30
) 31
TAB 32
! 33
A 34
S 35
D 36
F 37
G 38
H 39
J 40
K 41
L 42
; 43
: 44
< 45
> 46
SHIFT 47
' 48
Z 49
X 50
C 51
V 52
B 53
N 54
M 55
, 56
. 57
/ 58
% 59
ENTER 60
CAPS 61
ALPHABET 62
SYMBOL 63
KATAKANA 64
SPACE 65
INS 66
DEL 67