プログラムのMSXBASIC命令セット一覧

 これはMSXBASICの予約語表からの命令、変数などのセットです。

 
命令セットはこの ページにすべてを納めています

読み込みデータはお よそ100KBです。終わるまでお待ちください。
このページは使い方別に説明したページのリンクとアルファベット順に主要なコマンドを中心に解説して おります。ちょっとしたリファレンスに使えます。
 

グラフィック画面-画像の操作、文字の表示-VRAMマップ、VDP

テキスト-テキストモードの文字列の表示-エスケープシーケンス

キャラクターコード-スプライト-16進数

文字列と数式-配列変数-ユーザー定義関数FN

条件の分岐-割り込み-エラー

ファイル操作-メモリーディスク

メモリマップ-マシン語-CALLの拡張命令

サウンドとミュージック、演奏 などの拡張命令-プリンタコード
コマンドリスト

A

 ABS AND ASC ATN ATTR$ AUTO



 BASE BEEP BIN$ BLOAD BSAVE



 CALL CDBL CHR$ CINT CIRCLE

CLEAR CLOAD CLOSE CLS

CMD COLOR CONT COPY COS

CSAVE CSNG CSRLIN

CVD CVI CVS



 DATA DEF DELETE DIM DRAW DSKF DSKI$

DSKO$ ELSE END EOF



 EQV ERASE ERL ERR ERROR

EXP  FIELD FILES FIX



 FOR FPOS FRE GET GO TO



 GOSUB GOTO



 HEX $



 IF IMP INKEY$ INP INPUT

INSTR INT IPL



 KEY KILL



 LEFT $ LEN LET LFILES LINE

LIST LLIST LOAD LOC LOCATE

LOF LOG LPOS LPRINT LSET



 MAXFILES MERGE MID$ MKD$

 MKI$ MKS$ MOD MOTOR 



 NAME NEW NOT 



 

OCT$  ON OPEN OR OUT PAD

 PAINT PDL PEEK PLAY 



 POINT POKE POS PRESET

PRINT PSET PUT



 READ REM RENUM RESTORE RESUME

RETURN RIGHT$ RND RSET RUN SAVE



 SCREEN SET SGN SIN SOUND SPACE$

SPC( SPRITE SQR SPRITE STEP

STICK STOP STR$ STRIG STRING$

SWAP TAB( TAN THEN TIME TO



 TROFF TRON



 USING USR VAL VARPTR



 VDP VPEEK VPOKE



 WAIT WIDTH



 XOR 

 
ABS

 絶対値を得る

例えばA=−2でC=ABS(A)の場合、Cに2が入ります。

参照:SGN
コマンドリストへ
AND

 数式上でI$とC$の条件ならばという時に使う

例えばIFA=3ANDD=5THEN〜というふうにやったりIFA$= CHR$(13)ANDF=1THENということもできます。

参照:IF
コマンドリストへ
 

ASC

 文字のキャラクターコードを得ます。

使い方は

? ASC(INPUT$(1))

 とダイレクトに入力します。

 参考:CHR$ キャラクターコード
コマンドリストへ
 

ATN

 アークタンジェント、逆正接という意味。単位はラジアン。

参照:SIN COS TAN CIRCLE
コマンドリストへ
 

ATTR$

 
コマンドリストへ
AUTO

 行番号のオートタイピング。

10ごとにタイピング。

AUTO 10,5

これで10,15,20,25〜とタイピングします。
コマンドリストへ
BASE

 BASEはVRAMのアドレスを調べる時に便利です。
コマンドリストへ
 

BEEP

 ダイレクトにBEEPと入力すればビープ音が出ます。

SETBEEP命令を使うことで音を変えることができます。

参照:SET  BEEP
コマンドリストへ
BIN$

 数値を2進数で返す。

参照:OCT $ HEX $ 16進数

 
コマンドリストへ
BSAVE

 BSAVE"UME.SC8",&HD000,& HEFCD,&HD030

RAMのアドレスの&HD00から&HEFCDまでをセー ブします。

第3オプションの&HD030は実行アドレスを指定することもでき ます。

この&HD030をSに設定するとVRAMのアドレスをセーブする ことになります。
コマンドリストへ
BLOAD

 BLOAD”UME.BIN",R 

マシン語プログラムをロードします。

BLOAD"UME.BIN",R,&H4

 この場合、もしUME.BINがあった場合は実行します。

,Rはマシン語プログラムを実行

,SはVRAMになります。

,&H4はBSAVE時に指定した開始アドレスから&H4を加えた 番地からロードすることになります。

マシン語プログラムは実行するとBASICに戻れなくなりますので注意して ください。

参照:CLEAR DEFUSR マシン語
コマンドリストへ
CALL

 この命令はMSXの拡張コマンドが含まれている場合に機能します。
コマンドリストへ
CDBL

 整数、単精度実数値を倍精度実数値に変換しその結果を得ます。
コマンドリストへ
CHR$

 IF I$=CHR$(13) THEN BEEP

この場合、I$がキャラクターコードの13であればBEEP音を出します。

参照:BEEP ASC キャラクターコード
コマンドリストへ
 

CINT

 単精度実数値、倍制度実数値を整数値に変換し、その結果を得る。

参照:CDBL CSNG
コマンドリストへ
CIRCLE

 円または楕円を描く

CIRCLE(x,y),b,c,d,e,f

(X,Y)の絶対座標、STEP(X,Y)相対座標の指定ができます。

bは半径をピクセル単位で指定。

cは開始角度をラジアンで指定

dは終了角度をラジアンで指定

 
角度とラジアンの対応

 
135度:4分の3πラジアン 90度:2分のπラジアン 45度:4分のπラジアン
180度:πラジアン   360度:2πラジアン
225度:4分の5πラジアン 270度:2分の3πラジアン 315度:4分の7πラジアン
 
1度を求めるには360分の2πラジアンの計算です。

 

fは比率で垂直方向の半径÷水平方向の半径。パソコンの場合÷はスラッシュ!/

SCREEN2:CIRCLE(100,100),40,255

この場合、SCREEN2の座標、100,100に半径40の白い円を描き ます。

参考:SCREEN
コマンドリストへ
CLEAR

 変数、文字列の初期化。メモリ領域の大きさを指定する

CLEAR (a),(b)

aは文字列領域の大きさ。電源オン時は200にセットされています。

bはメモリの上限。これはBASICのメモリの上限になります。

 
コマンドリストへ
CLOAD

 カセットからロードする場合に使用。

CLOAD?はCSAVEされた直後に保存されている内容が正しいか?

比較します。正しい場合は正常に保存されたことになります。

FDDが壊れた時の代用策?この機能はMSXturboRでは機能しませ ん。
コマンドリストへ
 

CLOSE

 OPEN命令を指定されてデバイス番号の入出力処理をCLOSE#で閉じ ます。

これによりファイルの保存、読み込み処理を終了したことになります。

CLOSE #1

OK

参考:OPEN ファイルの操作

 
コマンドリストへ
CLS

 画面をクリアします。漢字BASICではCALLCLSになります。

ついでに PRINT CHR$(12)で両モードともOK。

 
コマンドリストへ
CMD

 マシン語プログラムでCMDのエントリーのプログラムを組まないと使えま せん。
コマンドリストへ
COLOR

 文字色、前景色、背景色の3つを設定できます。全てのモードで使用できま す。

グラフィック画面などで有効なコマンドは以下のとおり。

 

COLOR=(15.R,G,B)

カラーコード15の指定でRGBにはR赤色、G緑色、B青色の成分を0〜7 の数値で指定します。

このコマンドはSCREEN6はカラーコード0〜3までの指定です。

SCREEN8以降では使えません。

 

COLOR=RESTORE

VRAMのカラーテーブルどおりの色にします。

これはVRAMのデーターを読み込んだ後に指定します。

 

COLOR=NEW

初期状態の割り当て色に戻します。

COLORSPRITEについてはSPRITE参照。

 
コマンドリストへ
CONT

 RUN実行中にBreakした場合に再開します。CONTを入力して Can’tContinueが出る場合は

Breakした行をGOTO1440とすると復帰できます。グラフィック モードの場合はこの頭にSCREEN〜を入れてくださいね
コマンドリストへ
 

COPY

 グラフィックモードで指定された矩形範囲をコピーします。TO〜で貼り付 けします。

 

画像のコピー

まず矩形の範囲(□)を指定。次に貼りつける左上の座標を指定

COPY(矩形範囲),(a)TO(開始座標)

COPY(100,145)-(100+10,145+16)TO(120,0)

この場合、同じ画面に貼りつけます。

aは同じ画面以外の画面ページにコピーする時に使えます。SETPAGE参 照。

相対の場合はSTEP(10,16)になりますがわかりやすいように絶対の (100+10,145+16)座標にしてみました。この範囲を120,0にコ ピーします。

 

配列変数とファイル間のコピー

COPY UME TO "UME-FACE"

COPY"UME-FACE" TO UME

 

次はファイルです。これはやってみてください。

 

COPY SCREEN

COPY SCREEN1

外部ビデオ信号をVRAMに取り込みます。

ビデオデッキの出力からパソコンの端子へ接続するとできる?

 

ファイルのコピー

COPY"README.TXT"TO"B:"

BASICではこのように用います。

 

画像ファイルを画面に部分コピー

COPY"ICON.SC8"TO(32,43)

これはGBで使っているテクです。部分的に画面にコピーできます。

 
コマンドリストへ
COS

 余弦を得る。単位はラジアン。

参照:SIN TAN ATN CIRCLE

 
コマンドリストへ
CSAVE

 カセットにプログラムセーブします。

BASICのプログラムをカセットにセーブする時に使います。

参照:CLOAD

 
コマンドリストへ
CSNG

 整数値、 倍精度実数値を単精度実数値に変換しその値を得る。

参照:CINT、CDBL

 
コマンドリストへ
CSRLIN

 テキストモードのカーソルの座標を読み取ります。

 
コマンドリストへ
CVD

 
コマンドリストへ
CVI

 
コマンドリストへ
CVS

 
コマンドリストへ
DATA

 READ文で読みます。この命令は最初はわかりませんでした。

FORI=1TO6:READA$:NEXTの場合DATAを6読み込むわ けです。

DATA A,B,C,D,E,F

6個用意しておきます。

これを最後に入れないとエラーがおこります。

 
コマンドリストへ
DEF

 defineの略。一言ではいえませんが代表的なものとして

DEFUSR=62:A=USR(0)

DEFINTA-Z

などあります。

DEFの次にFNファンクション(関数) という宣言をして英数字1〜2文字までの変数を入力します。

DEF FNA=(R^2*3.14)\

面積の計算です。この場合はAです。整数 部分だけを結果として出します。

とすると

r=10:? FNA

どうなるでしょうか?

 

DEFDBL

 倍精度実数型を宣言することで変数の有 効範囲が変わります。

 

DEFINT

 DEFINTA-Z

全ての数が整数型になりますが処理が若干 早くなります。

 

DEFSNG

 単精度文字型を宣言することで変数の有 効範囲が変わります。

DEFSTR

 文字型を宣言することで変数ではなくな ります。

 

DEFUSR

 マシン語の実行番地を定義します。

DEF USR=&HD00

 
コマンドリストへ
DELETE

 行番号を削除する命令です。この後に行 番号を入力すると削除されます。

DELETE 1000-1090

Ok
コマンドリストへ
 

DIM

 これは配列変数を宣言する命令です配列変数は10以上の場合はこの命令を 打ち込む必要があります。

I$(1)=”こんにちは”:I$(8)=”はじめまして”

というふうに1とか8とかの数値を入れます。例の場合は文字列としての扱い です。

この場合は挨拶という定義でしましたが、このように分類する方法などにも効 用があります。

 
コマンドリストへ
DRAW

 8方向指定で線を描きます。グラフィック画面で使います。

M100,100でX=100,Y=100を原点、C5でカラーコード5になります。

コマンドA:U10 上へ(Up)10
コマンドB:D20 下へ(Down)20
コマンドC:L30 左へ(Left)30
コマンドD:R40 右へ(Right)40
コマンドE:E50 右上へ50
コマンドF:F60 右下へ60
コマンドG:G70 左下へ70
コマンドH:H80 左上へ80

例えばU20で上へライン20ドット描画、BG30で左下へライン70ドット移動。

SCREEN5:DRAW”BM150,150L23U12”:A$= INPUT$(1)

参照:DRAW命令
 
コマンドリストへ
DSKF

 ディスクの残り容量を得ます。使い方は?DSKF(1)

 
コマンドリストへ
DSKI$

 ディスクから直接読み込みます。

 
コマンドリストへ
DSKO$

 ディスクから直接書き込みます。

 
コマンドリストへ
ELSE

 IFの条件外にする、IF文中の付加命令。IF〜THEN〜の後に ELSEを加える

 
コマンドリストへ
END

 END

デバッグなどで途中で一旦終わらせて部分的な機能などの確認したい時に使い ます。

 
コマンドリストへ
EOF

 ファイル読み込みの場合のファイルの終わりかどうかを調べる。

EQV

 
コマンドリストへ
ERASE

 DIMで指定された定義変数の開放。使い方は

DIMD(34)などの指定の場合、ERASEDとします。

 
コマンドリストへ
ERL

 エラー割り込み時のエラー行を得る。エラーで止まったら、?ERLとか? ERRとしてみてください。

 
コマンドリストへ
ERR

 エラー割り込み時のエラーコードを得る。

 
コマンドリストへ
ERROR

 エラーを起こす。定義されていないエラーコードを入力して例のエラーの日 本語表示させれば何か使えるかも

 
コマンドリストへ
EXP

 eに対す る指数関数の結果を得る。

参照:LOG
コマンドリストへ
 

FIELD

 
コマンドリストへ
FILES

 FILES"A:"

省略すると現在使っているドライブのファ イルの一覧を表示。

 FILES"A:",L

ファイル属性を表示させる。

 
コマンドリストへ
FIX

 E=FIX(3.1415)

整数部を得ます。

 
コマンドリストへ
FOR

 繰り返し命令。FORI=0TO3:?I:NEXTで0〜3まで繰り返し ます.

逆順ならFORI=3TO0STEP−1となります。STEPは‐1となり ます。

2,4,6,8としたい場合はSTEP2とします。

 
コマンドリストへ
FPOS

 
コマンドリストへ
FRE

 ユーザーエリアの未使用領域、文字列領域の未使用領域の残りを調べる。 BASICプログラムの実行時に使われる。

FRE(0)

FRE(””)

 
コマンドリストへ
GET

GET TIME A$

GET DATE B$

A$は時間、B$は日付を得ます。

これはSETTIME.SETDATEで日時を合わせられます。

 
コマンドリストへ
GOTO

 GO TO890でもGOTO890で も同じです。

この890はプログラム行番号に実行行を 移す命令です。

 
コマンドリストへ
GOSUB

 GOSUB1320

実行行をジャンプさせます。

RETURNのある行まで読むとこの後の命令からの実行に戻ります。
コマンドリストへ
 

GOTO

 GOTO340

実行行をジャンプさせます。

GOTO1230

 
コマンドリストへ
HEX$

 指定された数値を16進数に置き換えます。

 
コマンドリストへ
IF

変数と文字列の条件分岐ができます。

この数式の後に必ずTHEN〜ELSEかGOTOが付きます。

 
コマンドリストへ
IMP

 
コマンドリストへ
INKEY$

 キーボードから叩いた文字が1つ入ります。

この命令は実行は止まらずに次の実行行へ移ります。

10 I$=INKEY$

20 IF I$=”” THEN 10

30 BEEP

 20行を 見るとI$=””に文字をコーテーションしているだけです。

文字を入れないこともできます。

 
コマンドリストへ
INP

 A=INP(15)

入力ポートから値を得る。

ハードウェアが詳しい人向けの命令です。

 
コマンドリストへ
INPUT

入力の動作をする

 INPUT A

 INPUT A$

 
コマンドリストへ
INSTR

 INSTR(a,b,c)

aは探し始める字数。最初からならば省略。

bはその文字列名

cはさがす文字列名

文字列を見つけた先頭の文字目が入ります。

 
コマンドリストへ
INT

 変数の小数点を切り捨て、整数型にします。

 
コマンドリストへ
IPL

 
コマンドリストへ
KEY

 ファンクションキーの状態を変えます。

KEY OFF

KEY ON
コマンドリストへ
KILL

 ファイルの削除を行います。ファイルが多くなった時に消します。

KILL"AUTOEXEC.BAS"

 
コマンドリストへ
LEFT$

 左から指定した文字数を表示します。

A$="today":?LEFT$(A$,2)

to

Ok
コマンドリストへ
 

LEN

 文字列の数を返します。

I$="12345678"L=LEN(I$)



OK
コマンドリストへ
LET

LET A=3

A=3と同じ。MSX1の名残

 
コマンドリストへ
LFILES

FILESのプリントアウト。

 
コマンドリストへ
LINE

 グラフィックモードで線を引きます。,Bで矩形にします。Fで矩形の塗り つぶし

10 SCREEN 5:LINE(40,40)-(150,150), 5,B:A$=INPUT$(1)

 
コマンドリストへ
LIST

 BASICプログラムを表示します。

LIST1145

1145 FORI=0TO3:NEXT:RETURN

OK
コマンドリストへ
 

LLIST

 BASICプログラムをプリントアウトします。機能はLISTと同じ。

 
コマンドリストへ
LOAD

 BASICプログラムをロードします。

LOAD"AUTOEXEC.BAS"

 
コマンドリストへ
LOC

 
コマンドリストへ
LOCATE

 テキストモードの行桁指定します。

 
コマンドリストへ
LOF
コマンドリストへ
 

LOG

自然対数を倍精度実数で得る。
コマンドリストへ
LPOS

 LL=LPOS(0)

プリンターヘッドの位置を調べます。
コマンドリストへ
LPRINT

 この命令はプリンターのシーケンスで す。

LPRINTCHR$(27)+”b”;

参照:プリンターコード

 
コマンドリストへ
LSET

 
コマンドリストへ
MAXFILES

 MAXと いう予約語とFILESという予約語で作ったコマンド。

あまり聞きなれませんが、OPEN命令の#の番号をどこまで指定するかと いう宣言をします。

ということは、一度にいろいろなファイルをオープンして加工することがで きる(謎)わけです。

電源オン時は1ですが最大で15です。

 
コマンドリストへ
MERGE

 これはプログラムファイルを混合する時に使います。

これはプログラムリストを複数人で分担して打ちこむ時に有用なコマンドで す。

そのほか、MSX−FANのチェックサムを加える時によく使いました。

 
コマンドリストへ
MID$

 MID$(a,b,c)

aは文字列でA$

bは文字列を取り出す始まりの文字数

cは文字列を取り出す終わりの文字数

 

MID$(a,b,c)=d

bはcの文字列をaの文字列に入れる始まりの字数

cはbの置き換える字数。部分的な置換えもできる。

dはaの文字列に置き換える。

 
コマンドリストへ
MKD$

 

MKI$

 

MKS$

 

MOTOR

 MOTOR ONまたはMOTOR OFF

この命令はデーターレコーダーを巻き戻す時に使います。

 
コマンドリストへ
NAME

 名前を変更する場合に使います。

NAME”AUTOEXEC.BAS” AS”A−EXEC.BAS”
コマンドリストへ
 

NEW

 プログラムを全て消します。部分的に消 す場合はDELETE。

参照:DELETE
コマンドリストへ
NOT

 

OCT$

 A=OCT$(10)

8進数を表示します。
コマンドリストへ
 

ON

ON A GOTO

ON B GOTO

ON ERROR GOTO

ON INTERVAL GOSUB

ON KEY GOSUB

ON SPRITE GOSUB

ON STOP GOSUB

ON STRIG GOSUB

 
コマンドリストへ
OPEN

 ディスク、メモリーディスク、ラムディ スクなどの入出力を定義します。

通常では

OPEN”AUTOEXEC.BAT” FOROUTPUTAS#3

カセットなら

OPEN”CAS:CAS−DATA” FOROUTPUTAS#2

メモリディスクなら(全てのMSX2ならば動作します。)

OPEN"MEM: OPENING.DAT"FORINPUTAS#3

グラフィックに文字を表示

OPEN"GRP:"AS#1

忘れてはいけないこのコマンド。これがないと表示され ません。

そのほかLPT:プリンター、H:RAMディスク、 A:B:などのドライブ。

 
コマンドリストへ
OUT

 OUT ポート番号,式

出力ポートに1バイトのデータを送る。

INPと同様ハードウェア経験者向けのコマンド。

 
コマンドリストへ
PAD

 マウスからの情報を得ます。
装置 ベース値 d=0 d=1 d=2 d=3
ポート1のマウス B=12 入力要求 X座標 Y座標
-
ポート2のマウス B=16 入力要求 X座標 Y座標
-
 マウスの操作はデバイスを参照。

参照:STRIG デバイス
コマンドリストへ
PAINT

 グラフィックモードをペイントします。 境界色で囲まれた中を塗りつぶします。

10 screen2

20 circle(100,100), 40,8:paint(100,100),1,8
コマンドリストへ
PDL

PEEK

メモリーアドレスのコードを得ます。

A=&H8000:A=PEEK(A)

Ok

?HEX$(A)

C9

Ok
コマンドリストへ
PLAY

 PLAY"CDEFGABO5C"

PSGの命令です。CTRL+Gで音の初 期化

PRINT PLAY(0)

演奏中なら-1。
コマンドリストへ
 

POINT

 座標のカラーコードを得ます。

a=point(100,100)

スプライトの色は調べられません。
コマンドリストへ
 

POKE

 アドレスのコードを書き込みます。
コマンドリストへ
POS

 テキストモードの桁数を得ます。

カーソルの水平位置を調べます。
コマンドリストへ
 

PRESET

 点を消します。

5 screen5

10 fori=1to3:readX,Y:pset(X,Y):NEXT

20 preset(134,177):A$=INPUT$(1)

30 DATA134,177,84,32,45,3
コマンドリストへ
 

PRINT

 文字を出力します。デフォルトで画面。

 
コマンドリストへ
PSET

 点を打ちます。
コマンドリストへ
 

PUT

 スプライト、漢字などを置きます。

putに続いてPUT SPRITE,PUT KANJIというふうにします。
コマンドリストへ
 

READ

 DATA文を読みます。
コマンドリストへ
 

REM

 プログラムのコメントを付けます。
コマンドリストへ
 

RENUNM

 行番号の付け替えを行います。

RENUM 1000,25

1000、1025、1050〜と付け替 えます。
コマンドリストへ
 

RESTORE

 READするDATAの行を指定しま す。行番号を省略するとDATAの最初の行からになります。

100 DATA

例えば100のDATAを読みたい場合は RESTORE 100となります。

 
コマンドリストへ
RESUME

 エラーを回避(リジューム)します。
コマンドリストへ
RETURN

 GOSUB文の次の命令から実行を再開 します。

 
コマンドリストへ
RIGHT$

 I$="うーやん”:PRINT”さむ い”;RIGHT$(I$,2)

右から数文字の文字列を取ります。

 
コマンドリストへ
RND

 ランダム(不規則な数を出力)にしま す。乱数の発生した数はいつも同じ数です。

毎回違う数にしたいのでしたらRND(- TIME)を指定してください。
コマンドリストへ
RSET

 

RUN

 実行します。ファイル名を付けることも できます。

 

 
コマンドリストへ
SAVE

 セーブします。このセーブを行うとテキ ストエディタでプログラムを見ることができるようになります。
コマンドリストへ
 

SCREEN

 

 SCREEN A,B,C,D,E,F

Aには画面モードで0〜環境によっては最 大で12まで指定できます。

SCREEN0 テキスト80×24

SCREEN1 テキスト32×24

SCREEN2 グラフィック256× 192   

SCREEN3 64×48のマルチカラーモード(MSXではここまで)

SCREEN4 256×192グラ フィックモード

SCREEN5 256×212グラ フィックモード

SCREEN6 512×212グラフィックモード(MSX2VRAM64KBはここまで)

SCREEN7 512×212グラ フィックモード

SCREEN8 256×212グラフィックモード(MSX2VRAM128KBはここまで)

SCREEN9 -海外仕様です-

SCREEN10 256×212グラ フィックモード

SCREEN11 256×212グラ フィックモード

SCREEN12 256×212グラフィックモード(MSX2+/tRはここまで)

Bにはスプライトサイズで0〜3でスプラ イトの属性でスプライトを8×8と16×16画素と拡大表示の指定ができます。

Cには0,1でキークリック、入力音を出 すか出さないかを指定します。

Dにはカセットボーレートでこれはカセッ トの設定ですから、通常は0

Eにはプリンターオプション。0以外は MSX非準拠のプリンタ

Fには画面モード。ノンインタレースとイ ンタレースの設定でインタレースにすると細かな画像がわかりますが、これは熟練者向けのところです。

 

 
コマンドリストへ
SET

 セットします。SET TIME” 12:00:00"というふうに時間を合わせることができます。

SET ADJUST

SET PASSWORD

SET PROMPT

SET TITLE

SET SCREEN

SET DATE

SET TIME

SET PAGE

SET BEEP

SET VIDEO

 
コマンドリストへ
SGN

 正負の符号を調べます。

返り値

1はプラス

0はゼロ

-1はマイナス

というように、親切に返してくれます。

a=-1234:B=sgn(a)

Ok

?B

-1

Ok
コマンドリストへ
SIN

 正弦を返します。単位はラジアン。

参照:CIRCLE

 
コマンドリストへ
SOUND

 PSGサウンドジェネレータを直接操作 します。
コマンドリストへ
 

SPACE $

 空白(スペース)の数を指定します。
コマンドリストへ
 

SPC(

 テキストモードで表示させるスペースの 数をしています。

 
コマンドリストへ
SPRITE

 スプライトとはねずみのマークが動くな ど自由に画面で動かすことができる機能をスプライトといいます。

MSXのスプライトは8×8の定義と16 ×16の定義方法があります。

PUT SPRITE

SPRITE$

COLOR SPRITE

スプライト定義します。

 
コマンドリストへ
SQR

 平方根を得ます。A=SQR(64)

 
コマンドリストへ
STEP

 FOR文中に使用。変数を飛び越す数を 指定。

参照:FOR

 
コマンドリストへ
STICK

カーソル,ジョイスティック、パットなどの対応
左上:8 上:1 右上:2
左:7 ●:0 右:3
左下:6 下:5 右下:4
●は何も押していない状態の意

 

図のように丸からその方向に押されていればその数の値がでます。

S=STICK(n)

この命令もINKEY$と同じく1回実行する命令で繰り返しをしないと値 がでません。

FORS=0TO1:S=STICK(O):NEXT

この命令は何も押さないと0が入るために抜けられなくなります。

 

ジョイスティック、パッドのカーソル方向を得ます。

nが0の場合はカーソル

nが1の場合はポート1のデバイス

nが2の場合はポート2のデバイス

 
コマンドリストへ
STOP

プログラムを中断します。

STOP ONとSTOP OFF

ON STOP命令を宣言した場合

STOP ONでCTRL+STOPで割 り込みを許可

STOP STOPで保留

STOP OFFでCTRL+STOPの 割り込みを取り消します。

 
コマンドリストへ
STR$

数値を表す文字列を得ます。VALとは逆 の命令です。
コマンドリストへ
 

STRIG

ジョイスてぃク、パッドのABボタン、ス ペースの状態を調べます。

S=STRIG(0)
STRIG(n) ポート 状態
なし スペースキーが押されていれば-1
Aボタンが押されていれば-1
Aボタンが押されていれば-1
Bボタンが押されていれば-1
Bボタンが押されていれば-1
STRINGとつづりが似ています。

この場合はSTICKとは違って今度は-1ですから

-1(-1)で1になりますから

FORI=0TO1:I=−STRIG(0):NEXT

となります。
コマンドリストへ
STRING$

スペースを10回入れたい場合などに使い ます。

PRINTSTRING$(10."  ”);”!”

          !

Ok

 
コマンドリストへ
SWAP

 変数と変数を入れ替えます。

 
コマンドリストへ
TAB(

 指定された行まで空白を入れます。

 
コマンドリストへ
TAN

 タンジェント。単位はラジアンです。

 
コマンドリストへ
THEN

 IFの条件分岐で使用。条件に合った場合THEN後に文法を書きます。

 
コマンドリストへ
TIME

 1/60秒で+1されます。60で1秒

10 TIME=0

20 IFTIME=60THENPRINT"1second.":END

30 GOTO 20

1秒たつとメッセージが表示されます。

 
コマンドリストへ
TO

 I=0TO7

Iが0から7へということ。FOR文で使 用。

 
コマンドリストへ
TROFF

 

TRON

 TRONを実行するとこのようになりま す。

10 CLS

20 PRINT"プログラム実行中です。";:a$=INPUT$(1)

TRON

OK

RUN

[10][20]プログラム実行中です。

Ok

TROFF

Ok

このように実行中の行番号を表示します。

なお、グラフィック画面では有効ではあり ません。

 
コマンドリストへ
USING

 PRINT文の後に PRINTUSINGと使います。

これは、文字列や数値を指定した書式でテ キスト画面に表示する命令です。

A$="U-YAN":PRINTUSING"!";A$

U

Ok

A$="U-YAN":PRINTUSING"&   &";A$

U-YA

Ok

A$="U-YAN":PRINTUSING"@";A$

U-YAN

Ok

A=100:PRINTUSING"###";A

100

Ok

A=1:PRINTUSING"###";A

  1

Ok

と表示されます。このほか+を付けると符号表示もできるらしいです。

 
コマンドリストへ
USR

 マシン語で作られたルーチン(オブジェ クト)を呼び出す。

この命令は通常DEFUSR=と併せて使 います。

 
コマンドリストへ
VAL

 文字列を表す数値を得ます。

例えばA$=”10”:A=VAL(A $):PRINTAの場合

10と表示されます。

 
コマンドリストへ
VARPTR

 変数の格納されているメモリ番地、ファ イルに割り当てられているファイルコントロールブロックの開始番地を求めます。

 
コマンドリストへ
VDP

 VDP命令はヴィデオディスプレイプロ セッサのレジスタを直接書きこんだり、参照する時に用います。

 
コマンドリストへ
VPEEK

 VRAMを読みます。VRAMには画像 のピクセル情報などがあります。

 
コマンドリストへ
VPOKE

 VRAMアドレスに値を書き込みます。

 
コマンドリストへ
WAIT

 コンピュータの入力ポートをモニタする 際、プログラムの実行を中断する。

ハードで用いる命令でソフトではあまり使 わない命令の1つです。

 
コマンドリストへ
WIDTH

 テキストモードの文字幅を指定できま す。

SCREEN0指定の場合で最高80まで 可能になります。

 
コマンドリストへ
XOR

 OR条件は条件1と条件2のいずれかの場合ですが、XORはいずれでは ない場合になります。
コマンドリストへ

 セガサターンのGAMEBASICforSEGASATURNに MSXの老舗であるアスキーの風。

>>戻るよ

 
(c)1991 UME,(c)1993 UMEnoteProjects ,(c)1999 Hinoume ProgramTeam.