MSX転生工房

機能別MSX-BASIC言語


プログラム作成
NEW
AUTO
RENUM
DELETE
LIST
LLIST
RUN
 
CONT
TRON
TROFF


プログラムを消去する。
行番号を自動的に発生する。
行番号を付け直す。
行を削除する。
プログラムを画面表示する。
プログラムをプリンタへ印字する。
プログラムを実行する。実行を止めるには、CTRLキーとSTOPキーを同時に押します。
プログラムの実行を再開する。
トレースを開始する。
トレースを停止する。
カセットレコーダー
CSAVE
SAVE
CLOAD
LOAD
CLOAD?
MERGE
BSAVE
BLOAD
MOTOR

SCREEN
MAXFILES
OPEN
PRINT#
PRINT# USING
INPUT#
LINE INPUT#
INPUT$
EOF
CLOSE
VARPTR


プログラムを記録する。
 
プログラムを読み込む。
 
プログラムを照合する。
プログラムを併合する。
機械語プログラムを記録する。
機械語プログラムを読み込む。
モーターを制御する。
 
転送速度を指定する。
ファイル数を指定する。
ファイルをオープンする。
データを出力する。
 
データを入力する。
 
 
ファイルの終了か否かを求める。
ファイルをクローズする。
ファイルコントロールブロックのアドレスを求める。
キーボード
INPUT
LINE INPUT
INKEY$
INPUT$
SCREEN
 
KEY
KEY LIST
KEY ON
KEY OFF
KEY(n) ON
KEY(n) OFF
KEY(n) STOP
ON STOP GOSUB
 
STOP ON
STOP OFF
STOP STOP
 
STICK
STRIG
STRIG ON
STRIG OFF
STRIG STOP
ON STRIG GOSUB


データを入力する。
 
 
 
キークリック音を制御する。
 
ファンクションキーを定義する。
ファンクションキーの内容を表示する。
ファンクションキーの内容を表示する。
ファンクションキーの内容表示を消去する。
ファンクションキーによる割り込みを制御する。
 
 
 
 
CTRLとSTOPキーによる割り込みを制御する。
 
 
 
どの方向のカーソルキーが押されているかを求める。
スペースキーが押されているか否かを求める
スペースキーによる割り込みを制御する。
画面制御
SCREEN
COLOR
CLS
 
VDP
VDP
BASE
VPEEK
VPOKE


スクリーンモードを設定する。
色を指定する。
画面表示を消去する。
 
VDPのレジスタにデータを書き込む。
VDPのレジスタの内容を求める。
ビデオRAMテーブルの開始アドレスを求める。
ビデオRAMの内容を求める。
ビデオRAMにデータを書き込む。
テキストモードの画面
PRINT
PRINT USING
 
LIST
WIDTH
TAB
SPC
LOCATE
CSRLIN
POS


データを表示する。
 
 
プログラムを表示する。
画面の水平方向の文字数を指定する。
空白を出力する。
 
カーソルを移動する。
カーソルの垂直位置(行)を求める。
カーソルの水平位置(桁)を求める。
グラフィックモードの画面
CIRCLE
LINE
DRAW
PAINT
PSET
PRESET
POINT
MAXFILES
OPEN
PRINT#
PRINT# USING
CLOSE


円や楕円を描く。
直線や四角形を描く。
図形を描く。
塗りつぶす。
点を描く。
点の色を変更する。
指定した座標のカラーコードを求める。
グラフィックモードの画面にファイルをオープンし、文字や数字を出力する。
スプライト画面
SPRITE$
PUT SPRITE
SPRITE ON
SPRITE OFF
SPRITE STOP
ON SPRITE GOSUB


スプライトパターンを定義する。
スプライトパターンを表示する。
スプライトパターンによる割り込みを制御する。
プリンタ
LPRINT
LPRINT USING
LLIST
TAB
SPC
SCREEN
LPOS


データを印字する。
 
プログラムを印字する。
空白を出力する。
 
MSX標準のプリンタか否かを指定する。
プリンタヘッドの位置を求める。
サウンド機能
PLAY
PLAY
SOUND
BEEP


音楽を演奏する。
演奏中か否かを求める。
PSGのレジスタにデータを書き込む。
ブザー音(ピッという音)を0.04秒間鳴らす。
ジョイスティックなど
STICK
STRIG
STRIG ON
STRIG OFF
STRIG STOP
ON STRIG GOSUB
PAD
PDL


ジョイスティックの方向を求める。
トリガーボタンが押されているか否かを求める。
ジョイスティックのトリガーによる割り込みを制御する。
 
 
 
タッチパッドの状態を求める。
パドルの状態を求める。
入出力ポート
OUT
INP
WAIT


データを出力する。
入力ポートの値を求める。
指定した値が入力されるまで待つ。
ファイル
MAXFILES
OPEN
PRINT#
PRINT# USING
INPUT#
LINE INPUT#
INPUT$
EOF
CLOSE
VARPTR


ファイル数を指定する。
ファイルをオープンする。
データを出力する。
 
データを入力する。
 
 
ファイルの終了か否かを求める。
ファイルをクローズする。
ファイルコントロールブロックのアドレスを求める。
分岐
GOTO
IF
ON GOTO


指定した行番号に実行を移す。
条件判断をする。
条件によりいくつかの行番号に実行を移す。
サブルーチン
GOSUB
ON GOSUB
RETURN


サブルーチンを実行する。
条件によりいくつかのサブルーチンを実行する。
サブルーチンから復帰する。
繰り返し
FOR
NEXT


指定回数だけ繰り返して実行する。
エラー
ERROR
ON ERROR GOTO
RESUME
ERL
ERR


エラーを故意に発生する。
エラー処理ルーチンの開始行を定義する。
エラー処理ルーチンから復帰する。
エラーの発生した行番号を求める。
発生したエラーのエラー番号を求める。
停止
STOP


プログラムの実行を停止する。
終了
END


プログラムの実行を終了する。
注釈
REM


プログラムの中に注釈を入れる。REMの代わりに '(アポストロフィー)でもよい。
文字列操作
MID$
LEFT$
MID$
RIGHT$
SPACE$
STRING$
INSTR
LEN


文字列の一部を置き換える。
文字列の一部を取り出す。
 
 
指定した長さの空白の文字列を求める。
指定した文字の文字列を求める。
文字列の中の指定した文字列の位置を求める。
文字列の長さを求める。
型変換
CDBL
CINT
CSNG
ASC
VAL
CHR$
BIN$
OCT$
HEX$
STR$


倍精度型実数に変換する。
整数に変換する。
単精度型実数に変換する。
文字コードを求める。
文字列の表す数値に変換する。
文字コードに対応する文字に変換する。
数値を2進数に相当する文字列に変換する。
数値を8進数に相当する文字列に変換する。
数値を16進数に相当する文字列に変換する。
数値を文字列に変換する。
数値計算
ANT
COS
SIN
TAN
EXP
LOG
SQR
ABS
FIX
INT
SGN


逆正接値を求める。
余弦値を求める。
正弦値を求める。
正接値を求める。
指数関数値を求める。
自然対数を求める。
平方根を求める。
絶対値を求める。
整数部を求める。
数値を越えない最大の整数を求める。
正負の符号を求める。
変数関係
LET
DATA
READ
RESTORE
DIM
ERASE
CLEAR
SWAP
VARPTR
DEFINT
DEFSNG
DEFDBL
DEFSTR


変数に値を代入する。LETは省略できます。
READ文で読み込む定数を格納する。
DATA文の定数を変数に読み込む。
READ文で読むDATA文を指定する。
配列変数の要素の大きさを宣言する。
配列変数を消去する。
すべての変数を初期化する。
2つの変数の値を交換する。
変数の格納されているメモリのアドレスを求める。
整数型変数を宣言する。
単精度変数を宣言する。
倍精度変数を宣言する。
文字型変数を宣言する。
乱数
RND


乱数の値を求める。
ユーザー定義関数
DEF FN


ユーザー定義関数を設定する。
メモリ
FRE
PEEK
POKE
CLEAR


未使用領域の大きさを求める。
指定したアドレスの内容を求める。
指定したアドレスにデータを書き込む。
メモリ領域の大きさを設定する。
機械語
DEFUSR
USR


機械語サブルーチンの開始アドレスを定義する。
機械語サブルーチンを実行する。
インターバルタイマー(内部時計)
TIME
TIME
INTERVAL ON
INTERVAL OFF
INTERVAL STOP
ON INTERVAL GOSUB


内部時計の値を設定する。
内部時計の値を求める。
インターバルタイマーによる割り込みを制御する。
拡張ステートメント
CALL


拡張ステートメントを呼び出す。






言語解説

BASE (ベース) 関数
機能VRAM 内の各種テーブルの開始アドレスを求めます。
書式BASE ( 整数式 )
解説(1)整数式で指定されたテーブルの開始アドレスを求めます。

(2)整数式の範囲は0〜19で、指定するテーブルは次の表の通りです。


       画面モード

テーブル名
SCREEN 0
テキスト
40×24
SCREEN 1
テキスト
32×24
SCREEN 2
高解像度
グラフィック
SCREEN 3
マルチカラー
 
名称テーブル1015
カラーテーブル使用せず11使用せず
パターンジェネレータ1217
スプライト属性使用せず1318
スプライトパターン使用せず1419




CHR$ (キャラクタ ダラー) 関数
機能指定した文字コードの文字を求めます。
書式CHR$ ( 整数式 )
解説整数式で指定した文字コードの文字や記号またはコントロールコードを求めます。




グラフィックキャラクタヘッダ(16進数文字コード &H01)
文字コードの前にグラフィックキャラクタヘッダが付くとグラフィック記号となります。


PRINT CHR$(1);CHR$(&H41) を実行すると「月」が表示されます。
PRINT CHR$(&H41) を実行すると「A」が表示されます。




COLOR (カラー) ステートメント
画面に表示する色を指定します。
COLOR a, b, c
COLOR , b
COLOR , , c

c = 周辺色
b = 背景色
a = 表示色

(1)文字の色、図形の色や背景の色を指定します。

(2)表示色
テキストモードの画面では、表示色で文字の色を指定します。
COLOR文を実行すると、すべての文字の色が直ちに表示色に変化します。
グラフィックモードの画面では、表示色で図形の色を指定します。
グラフィック文(PSET, LINE, CIRCLE, DRAW, PAINTなど)でカラーコードを省略すると、表示色で描かれます。

(3)背景色
背景色で画面の地の色を指定します。
テキストモードの画面では、COLOR文を実行すると直ちに背景色が変化します。
グラフィックモードでは、COLOR文の後でCLS文を実行すると背景色が変化します。ただし、CLS文の実行前でも、PRESET文でカラーコードを省略すると背景色になります。

(4)周辺色
周辺色で、背景色の外側に見えるボーダ(文字や絵の表示できない領域)の色を指定します。

(5)表示色、背景色、周辺色の指定はカラーコードで行います。
起動時には、COLOR 15, 4, 7 が設定されています。

カラーコード
0 透明
1 黒
2 緑
3 明るい緑
4 暗い青
5 明るい青
6 暗い赤
7 水色
8 赤
9 明るい赤
10 黄
11 明るい黄
12 暗い緑
13 紫
14 灰
15 白




PLAY (プレイ) 関数
機能音楽を演奏中かどうかを調べます。
書式PLAY ( 整数式 )
解説(1)整数式で指定した音声チャンネルがPLAY文による音楽を演奏中かどうかを調べます。
-1 のとき
  0 のとき
演奏中。
演奏中でない。

(2)整数式の値によって、調べる音声チャンネルが選択されます。
0 のとき
1 のとき
2 のとき
3 のとき
チャンネル A, B, C のうちいずれかが演奏中か否か。
チャンネル A が演奏中か否か。
チャンネル B が演奏中か否か。
チャンネル C が演奏中か否か。

10 PLAY"C"
20 PRINT PLAY(1)
30 GOTO 10




PUT SPRITE (プット スプライト) ステートメント
機能スプライトパターンを表示します。
書式PUT SPRITE n , ( x , y ) , c , p
PUT SPRITE n , , c
PUT SPRITE n , STEP ( x , y ) 相対座標指定

n = スプライト面番号
x , y = 表示する座標
c = カラーコード
p = スプライトパターン番号

解説(1)指定した番号のスプライト面上の指定した位置に、SPRITE$文で定義したスプライトパターンを表示します。

(2)スプライト面番号は、0 〜 31 の範囲の整数式で指定します。
スプライト面は32面あり、番号をつけて表します。
スプライト面は1面で1つのスプライトパターンを表示し、1度に32個のスプライトパターンが表示できます。
ただし、水平方向に同時に表示できるパターンは最大4個までです。
スプライト面は番号の少ない方が優先度が高く、スプライトパターンが重なると、優先度の高い方が手前に重なって見えます。

(3)座標は、X座標は -32 〜 255 の範囲の、Y座標は -32 〜 191 の範囲の整数式で指定します。
座標を相対座標指定の STEP( x , y ) で指定すると、LP(最終参照点)からの相対位置になります。
PUT SPRITE文を実行すると、LPは指定した座標になります。

(4)スプライトパターンを消す場合は、
Y座標に 208 を指定すると、指定した番号以上のスプライト面に表示したスプライトパターンが消えます。
Y座標に 209 を指定すると、指定した番号のスプライト面に表示したスプライトパターンが消えます。

(5)カラーコードを省略すると、現在の表示色になります。

(6)スプライトパターン番号は、SPRITE$文で定義したパターンの番号に対応します。
省略すると、指定した番号のスプライト面に現在表示しているスプライトパターン番号になります。また、初期値はスプライト面番号と一致しています。





STICK (スティック) 関数
機能ジョイスティックの方向を求めます。
書式STICK ( 整数式 )
解説(1)整数式で指定したジョイスティックの方向かまたは、どの方向のカーソルキーが押されているかを求めます。

(2)整数式は0〜2の範囲で、調べるジョイスティックを指定します。
0のとき  キーボード上のカーソルキー
1のとき  ジョイスティック1端子に接続したジョイスティック
2のとき  ジョイスティック2端子に接続したジョイスティック

(3)結果は、方向が1〜8までの整数で求まります。また、どの方向にも押していないときは0となります。

カーソルキーで斜め方向を指定するときは、2つのカーソルキーを同時に押します。
[↑]キーと[→]キーを同時に押すと、2が求まります。

10 A=STICK(0):B=STICK(1)
20 PRINT A;B
30 GOTO 10







機能別MSX-BASIC言語 MSX転生工房