戻る
BASIC-M25/S25
Supermz (mz2500) : シャープ (SHARP)

BASIC-M25 (mz6Z002) BASIC-S25 (mz6Z003)

BASIC-M25/S25はmz2500用に提供されているSHARP製BASICである。
[HELP]キーを押下した状態で読み込むと切り替えることができる。

M25はHuBASICやMS-BASICに近く、S25はS-BASICの系譜である。
(機能面に差はないので、慣れている方を選べるようになっている)

ここではM25をメインに扱い、S25は差分がある場合に記述をする。
(コマンド・関数名以外で差分がない場合は表記以外は記述しない)

※ M25とS25では画面描画関係で記述が異なる点が多いので注意
  逆説的な言い方になるが、HuBASICとS-BASICの表記の違いがわかりやすいので移植するのには勉強にはなる

BASIC-M25/S25簡易リファレンス
コマンド
表記省略形凡例使用例説明
AUTOA.AUTO[*] [行番号][,増分]AUTO 100,5先頭に自動的に行番号を発生させる(増分を省略した場合は10)
(*」を付加した場合は行番号の後に自動で「'」が付く)
DELETED.DELETE [行番号][-[行番号2]]DELETE 100-200指定した範囲の行番号を削除する
行番号を省略して「-」のみの場合は全行を削除する
行番号指定にはラベルと「.」が指定可能
LISTL.LIST[*] [[ファイル名],] [行番号}
LIST [行番号][,[行番号2]][,...]
LIST [行番号][-[行番号2]]
LIST
LIST 10,100
LIST 100-200
メモリ上のプログラムを表示する
指定した行番号を表示する
指定した範囲の行番号を表示する
(「*」を付加した場合は「'」で始まる行のみを抽出)
行番号指定にはラベルと「.」が指定可能
LLIST M25
LIST/P S25
LL. M25
L./P S25
LLIST[*] [[行番号]
LLIST [行番号][,[行番号2]][,...]
LLIST [行番号][-[行番号2]]
LLIST
LLIST 10,100
LLIST 100-200
メモリ上のプログラムをプリンタに出力する
指定した行番号をプリンタに出力する
指定した範囲の行番号をプリンタに出力する
(「*」を付加した場合は「'」で始まる行のみを抽出)
行番号指定にはラベルと「.」が指定可能
EDITE.EDIT [行番号]EDIT .指定した行番号を編集モードで表示する
行番号指定にはラベルと「.」が指定可能
SEARCHSEA.SEARCH 検索文字列[,[開始行][-[終了行]]]SEARCH "foobar"指定した文字列を含んだ行を表示する
行番号指定にはラベルと「.」が指定可能
LSEARCH M25
SEARCH/P S25
LSEA. M25
SEA./P S25
LSEARCH 検索文字列[,[開始行][-[終了行]]]LSEARCH "foobar"指定した文字列を含んだ行をプリンタに出力する
行番号指定にはラベルと「.」が指定可能
RENUMREN.RENUM [新行番号][,増分][,[開始行]-[終了行]]RENUM 1000,10新行番号を先頭に行番号をつけ直す
開始・終了行指定にはラベルと「.」が指定可能
NEWNEWNEWプログラムを全て消去し、変数を初期化する
OPTION LISTOPT. L. {UC. | LC.}OPTION LIST {UCASE | LCASE}OPTION LIST UCASE予約語の表示を{大文字 | 小文字}にする
表示の切替であるため、入力に影響はない
OPTION ANGLEOPT. ANG. {DEG. | RAD.}OPTION ANGLE {DEGREES | RADIANS}OPTION ANGLE RADIANS角度単位のデフォルトを{度 | ラジアン}にする(デフォルトはラジアン)
NEW ONNEW ON レベル(0〜5)]NEW ON 1BASIC使用最下位アドレスを設定する
BOOTBO.BOOTBOOTIPLを起動する
CONTC.CONTCONT[BREAK]キーやSTOP,ENDで終了したプログラムの実行を再開する
STEPSTEP [行数][:{RUN [{行番号 | ラベル}] | GOTO {行番号 | ラベル}}]STEP
STEP:GOTO 100
[BREAK]キーやSTOP,ENDで終了したプログラムのステップ実行で再開する(行数の指定がない場合は1とする)
STEPの開始行を指定する
RUNR.RUN {[{行番号 | ラベル}] | "[装置名:][[パス名]ファイル名]"}RUN
RUN 100
指定した行番号からプログラムを実行する
(行番号を省略した場合は先頭から、ファイル名を指定した場合は読み込んで実行する)
FD1:〜FD4:,MEM:,COM1:〜COM2:,CMT:で使用可能
SAVESA.SAVE "[装置名:][パス名]ファイル名"[,A]SAVE "test.bas"装置 に[BSD形式で]プログラムを保存する
FD1:〜FD4:,MEM:,COM1:〜COM2:で使用可能
COM指定の場合は「A」を付加してBSD形式ファイルで保存する
LOADLO.LOAD "[装置名:][[パス名]ファイル名]"LOAD "test.bas"装置からプログラムを読み込む
FD1:〜FD4:,MEM:,COM1:〜COM2:,CMT:で使用可能
CMT指定の場合はファイル名を省略可能で、最初に見つかったプログラムを読み込む
COM指定の場合はBSD形式ファイルの入力とみなされ、ファイル名の指定は無視される
BSAVEBS.BSAVE "[装置名:][パス名]ファイル名",開始アドレス,サイズ[,[実行アドレス][,[読み出しアドレス]]]BSAVE "FD1:test.bin",&HD000,&H1000装置にマシン語ファイルをバイナリ形式で保存する
FD1:〜FD4:,MEM:で使用可能
BLOADBL.BLOAD "[装置名:][パス名]ファイル名"[,開始アドレス]BLOAD "FD1:test.bin",&HD000装置からマシン語ファイルを読み込む
FD1:〜FD4:,MEM:,CMT:で使用可能
VERIFYVE.VERIFY {ON | OFF}VERIFY ONフロッピーディスクへの書き込みチェックを設定する
FILES M25
DIR S25
FIL. M25
S25
FILES ["[装置名:][[パス名]ファイル名]"FILES
FILES "FD1:"
装置にあるファイル一覧を出力する
FD1:〜FD4:,MEM:,CMT:で使用可能
LFILES M25
DIR/P S25
LF. M25
S25
LFILES ["[装置名:][パス名]ファイル名"]LFILES
LFILES "FD1:"
装置にあるファイル一覧をプリンタに出力する
FD1:〜FD4:,MEM:,CMT:で使用可能
CHDIRCH.CHDIR "[装置名:][パス名]ディレクトリ名"CHDIR "test"カレントディレクトリを変更する
装置名、パス名を省略した場合に参照される
FD1:〜FD4:,MEM:で使用可能
MKDIRMK.MKDIR "[装置名:][パス名]ディレクトリ名"MKDIR "test"装置にディレクトリを作成する
FD1:〜FD4:,MEM:で使用可能
RMDIRRM.RMDIR "[装置名:][パス名]ディレクトリ名"RMDIR "test"装置にあるディレクトリを削除する
FD1:〜FD4:,MEM:で使用可能
KILL M25
DELETE S25
KI. M25
D. S25
KILL "[装置名:][パス名]ファイル名"KILL "test"装置にあるファイルを削除する
FD1:〜FD4:,MEM:で使用可能
NAME M25NA.NAME "[装置名:][パス名]旧ファイル名" AS "新ファイル名"NAME "test" AS "test2"装置にあるファイル名を変更する
FD1:〜FD4:,MEM:で使用可能
RENAME S25RENA. S25RENAME "[装置名:][パス名]旧ファイル名","新ファイル名"RENAME "test","test2"装置にあるファイル名を変更する
FD1:〜FD4:,MEM:で使用可能
SET M25SET "[装置名:][パス名]ファイル名","{P | null}"SET "test","P"装置にあるファイルに属性を付与する
FD1:〜FD4:,MEM:で使用可能
P : Protect(書込禁止)
null("") : (属性削除)
LOCK S25LOCK "[装置名:][パス名]ファイル名"LOCK "test"装置にあるファイルに書込禁止(プロテクト)を付与する
FD1:〜FD4:,MEM:で使用可能
UNLOCK S25UNLOCK "[装置名:][パス名]ファイル名"LOCK "test"装置にあるファイルの書込禁止(プロテクト)を外す
FD1:〜FD4:,MEM:で使用可能
MERGEM.MERGE "[装置名:][パス名]ファイル名"MERGE "test"装置にあるファイルとメモリ上のプログラムをマージする
FD1:〜FD4:,MEM:,COM1:〜COM2:,CMT:で使用可能
COM指定の場合はBSD形式ファイルの入力とみなされ、ファイル名の指定は無視される
CHAINCH.CHAIN [MERGE] "[装置名:][パス名]ファイル名"[,実行開始行][,ALL][,DELETE 開始行-終了行]CHAIN "test"装置にあるファイルを読み込み、実行する
「MERGE」を付加した場合は現在あるプログラムとマージする
(この場合のみDELETEを付加して、削除を実行できる)
「ALL」を付加した場合は変数を引き渡して実行する
FD1:〜FD4:,MEM:,COM1:〜COM2:,CMT:で使用可能
SWAP S25SW.SWAP "[装置名:][パス名]ファイル名"SWAP "test"実行中のプログラムを装置上に一時退避し、指定したファイルを読み込んで実行し、終了後呼び出し元のプログラム実行に戻る
FD1:〜FD4:,MEM:で使用可能
MONMONMONモニタコマンドモードにする
TERMTE.TERM [制御文字列]TERM "COM1:"ターミナルモードにする
TRONT.TRON [開始行][-[終了行]]TRONトレースモードにする(トレース範囲を指定可能)
LTRON M25
TRON/P S25
LT. M25
T./P S25
LTRON [開始行][-[終了行]]LTRONトレースモードにする(結果はプリンタに出力)
TROFFTROFFTROFFトレースモードを解除する
[戻る]
一般ステートメント
表記省略形凡例使用例説明
ENDEN.ENDENDプログラムを終了する
STOPS.STOP [{行番号 | ラベル}]STOPプログラムを一時停止する
REM'REMREM TEST注釈を入れる(実行には無関係)
**文字列*TESTラベルを付ける
FOR...TO...STEP〜NEXTF. TO STEP N.FOR 変数=開始値 TO 終了値 [STEP 増分]〜NEXT [変数][,変数2][,...]FOR I=0 TO 10 STEP 2〜NEXT IFORからNEXTまでの処理を繰り返す
REPEAT〜UNTILREP. U.REPEAT〜UNTIL 論理式REPEAT〜UNTIL A=0論理式が真である間、繰り返して実行する
WHILE〜WENDW. WE.WHILE 論理式〜WENDWHILE A=0〜WEND論理式が真である間、繰り返して実行する
GOSUB
GO SUB
GOS.GOSUB {行番号 | ラベル}GOSUB 1000
GOSUB *TEST
サブルーチンを呼び出す
RETURNRE.RETURN [{行番号 | ラベル}]
RETURN
RETURNサブルーチンから復帰する
GOTO
GO TO
G.GOTO {行番号 | ラベル}GOTO 1000
GOTO *TEST
指定した{行番号 | ラベル}に飛ぶ
IF...{THEN | GOTO | GOSUB}...ELSEIF {TH. | G. | GOS.} EL.IF 論理式 {THEN 文 | GOTO {行番号 | ラベル} | GOSUB {行番号 | ラベル}} [ELSE {文 | {行番号 | ラベル}]IF A=0 GOTO 10
IF A=0 THEN END ELSE GOSUB 100
論理式の条件判断をする
ELSE IF〜ELSE〜END IFEL. IF〜EL.〜EN. IFELSE IF 論理式 THEN〜ELSE〜END IFELSE IF A=0 THEN END〜ELSE PRINT "TEST"〜END IF直前のIF行がELSEなしの場合、引き続き記述が可能
END IFまでが一つの構造になる
ON...GOTOO. G.ON 式 GOTO {行番号 | ラベル}[,{行番号2 | ラベル2}][,...]ON A GOTO 100,200式の値に応じて指定された{行番号 | ラベル}へ分岐する
ON...GOSUBO. GOS.ON 式 GOSUB {行番号 | ラベル}[,{行番号2 | ラベル2}][,...]ON A GOSUB 100,200式の値に応じて指定された{行番号 | ラベル}のサブルーチンを呼び出す
ON...RETURNO. RE.ON 式 RETURN {行番号 | ラベル}[,{行番号2 | ラベル2}][,...]ON A RETURN 100,200式の値に応じて指定された{行番号 | ラベル}へ復帰する
PAUSE M25
WAIT S25
PAU. M25
WA. S25
PAUSE 停止時間PAUSE 100指定された時間だけ実行が止まる(0.1s単位 : 1〜65535)
[戻る]
一般ステートメント:入出力関連
表記省略形凡例使用例説明
INPUTI.[WA.]INPUT [WAIT 待ち時間,]["文字列式"{; | ,}]変数[,変数2][,...]INPUT "X=";Xキーボードから入力した値を変数に代入する
待ち時間は0.1s単位で1〜65535
LINE INPUTLIN. I.[ WA.]LINE INPUT [WAIT 待ち時間,]["文字列式"{; | ,}]文字列変数LINE INPUT X$キーボードから入力した文字列を変数に代入する
待ち時間は0.1s単位で1〜65535
READREA.READ 変数[,変数2][,...]READ A$,BDATAで定義したデータを変数に代入する
DATADA.DATA 定数[,定数2][,...]DATA "TEST",765READで読み込むデータを定義する
RESTORERES.RESTORE [{行番号 | ラベル}]RESTORE 1000READで読み込むDATAの先頭行を設定する
ON...RESTOREO. RES.ON 式 RESTORE {行番号 | ラベル}[,{行番号2 | ラベル2}][,...]ON A RESTORE 100,200式の値に応じて指定された{行番号 | ラベル}に次に読むDATAの先頭行を設定する
PRINTP.[ US.] | ?[ US.]PRINT [{[USING 書式;データ] | [式]}[{, | ;}[式2[,...]]]]PRINT "HELLO,WORLD"画面上に表示する
PRINT#0P.#0 | ?#0PRINT#0 式[{; | ,}[...]]PRINT#0 "HELLO,WORLD"
PRINT#0 CHR$(6)
CSIZEで指定された倍率で画面上に表示する
コントロールコードを文字として表示する
LPRINT M25
PRINT/P S25
LPR.[ US.] | L?[ US.]
P./P[ US.] | ?/P[ US.]
LPRINT [{[USING 書式;データ] | [式]}[{, | ;}[式2[,...]]]]LPRINT A$プリンタに文字を出力する
WRITEW.WRITE 式[{; | ,}[...]]WRITE A,B,C画面上に表示する
(PRINTとの違いは空白は詰めて、区切りはコンマで出力する)
[戻る]
一般ステートメント:ファイル関連
表記省略形凡例使用例説明
INITINIT "[FD]n:{ドライブタイプ | シリンダ数,ステップレート,タイミング}"INIT "FD:F1"フロッピーディスクドライブを初期化する
装置名の「FD」は省略可能(FD1:をFD:と表記可能)
・ドライブタイプ
F1 : 内蔵ドライブ(シリンダ数80,ステップレート6ms,タイミングF)
F2 : MZ-1F07/02(シリンダ数40,ステップレート6ms,タイミングF)
F3 : MZ-80BF(シリンダ数35,ステップレート30ms,タイミングS)
・シリンダ数 : 35|40|80
・ステップレート : 6|12|20|30
・タイミング : F|S
INITINIT "MEM:[メモリディスクサイズ[,スプーラサイズ]]"INIT "MEM:0,0"メモリディスク、スプーラの設定をする
INITINIT "COMn:ボーレート,制御文字列"INIT "COM1:9600"RS-232Cインタフェースの設定をする
(制御文字列はTERMを参照)
OPEN M25OP.OPEN "モード",#ファイル番号(1〜127),"[装置名:][[パス名]ファイル名]"[,レコード長]OPEN"I",#1,"test"BSD形式のファイルをOPENする
I : シーケンシャル入力(FD1:〜FD4:,MEM:,CMT:,COM1:〜COM2:,KB:)
O : シーケンシャル出力(FD1:〜FD4:,MEM:,COM1:〜COM2:,LPT:,CRT:)
A : シーケンシャル追加出力(FD1:〜FD4:,MEM:)
R : ランダム入出力(FD1:〜FD4:,MEM:、この場合のみレコード長を指定可能)
ROPEN S25RO.ROPEN #ファイル番号(1〜127),"[装置名:][パス名]ファイル名"WOPEN #1,"FD1:test"ファイルをシーケンシャル入力モードでOPENする
FD1:〜FD4:,MEM:,CMT:,COM1:〜COM2:,KB:で使用可能
WOPEN S25WO.WOPEN #ファイル番号(1〜127),"[装置名:][パス名]ファイル名"WOPEN #1,"FD1:test"ファイルをシーケンシャル出力モードでOPENする
FD1:〜FD4:,MEM:,COM1:〜COM2:,LPT:,CRT:で使用可能
AOPEN S25AO.AOPEN #ファイル番号(1〜127),"[装置名:][パス名]ファイル名"WOPEN #1,"FD1:test"ファイルをシーケンシャル追加出力モードでOPENする
FD1:〜FD4:,MEM:で使用可能
XOPEN S25XO.XOPEN #ファイル番号(1〜127),"[装置名:][パス名]ファイル名"[,レコード長]XOPEN #1,"FD1:test"ファイルをランダム入出力モードでOPENする
FD1:〜FD4:,MEM:で使用可能
CLOSECLO.CLOSE [#ファイル番号[,#ファイル番号2][,...]]CLOSE #1[指定したファイル番号の]ファイルをCLOSEする
KILL S25KI.KILL [#ファイル番号[,#ファイル番号2][,...]]KILL #1[指定したファイル番号の]ファイル処理を中止する
WOPEN,AOPENでOPENされているファイルにはデータが登録されない
XOPENでOPENされているファイルには最大レコード以内の部分は残る
FIELDFIE.FIELD#ファイル番号,フィールド幅 as 文字列変数[,フィールド幅2 as 文字列変数2[,...]]FIELD#1,128 as TEST1$,64,TEST2$ランダムファイルバッファにフィールド変数を割り当てる
GET#GET#ファイル番号[,レコード番号(1〜32767)]GET#1,10ランダムアクセスファイルからデータをファイルバッファに読み込む
PUT#PUT#ファイル番号[,レコード番号(1〜32767)]PUT#1,10ファイルバッファのデータをランダムアクセスファイルに書き込む
INPUT#I.#INPUT#ファイル番号,変数[,変数2[,...]]INPUT#1,A,Bシーケンシャルファイル中のデータを読み込んで変数に代入する
INPUT# S25I.#INPUT#ファイル番号(レコード番号),変数[,変数2[,...]]INPUT#1(10),A,Bランダムアクセスファイル中のデータを読み込んで変数に代入する
LINE INPUT# M25LIN.I.#LINE INPUT#ファイル番号,文字列変数LINE INPUT#1,A,Bシーケンシャルファイルから1行分のデータを読み込んで変数に代入する
PRINT#P.# | ?#PRINT#ファイル番号,{USING 書式;データ | 式}[{, | ;}式2[,...]]PRINT#1,A,Bシーケンシャルファイルにデータを書き込む
PRINT# S25P.# | ?#PRINT#ファイル番号(レコード番号),{USING 書式;データ | 式}[{, | ;}式2[,...]]PRINT#1(10),A,Bランダムアクセスファイルにデータを書き込む
WRITE#WR.#WRITE#ファイル番号,式[{, | ;}...]WRITE#1,A,Bシーケンシャルファイルにデータを書き込む
(PRINT #との違いは空白は詰めて、区切りはコンマで出力する)
WRITE# S25WR.#WRITE#ファイル番号(レコード番号),式[{, | ;}...]WRITE#1(10),A,Bランダムアクセスファイルにデータを書き込む
(PRINT #との違いは空白は詰めて、区切りはコンマで出力する)
LSETLS.LSET 文字変数=文字列式LSET A$="TEST"ランダムファイルバッファのフィールドに左詰めで文字列を代入する
RSETRS.RSET 文字変数=文字列式RSET A$="TEST"ランダムファイルバッファのフィールドに右詰めで文字列を代入する
DEVI$DEV.DEVI$ 装置名:,レコード番号(1〜32767),文字変数1,文字変数2DEVI$ "FD1:",1,A$,B$デバイスから1レコード(256バイト)分のデータを読み込んで128バイトずつ2つの変数に代入する
FD1:〜FD4:,MEM:で使用可能
DEVO$DEVO$ 装置名:,レコード番号(1〜32767),文字変数1,文字変数2DEVO$ "FD1:",1,A$,B$128バイトの2つの変数から1レコード(256バイト)分のデータをファイルに書き込む
FD1:〜FD4:,MEM:で使用可能
[戻る]
一般ステートメント:変数・定数関連
表記省略形凡例使用例説明
LET(LETは省略可)LET 変数=式LET A=1変数に値を代入する
CLEAR M25CLE.CLEAR [{アドレス | MAX}]CLEAR &HC000変数を初期化し、BASIC使用最上位アドレスを設定する
MAX指定時は全てをBASICエリアとする
CLR S25CLRCLR変数を初期化する
LIMIT S25LIM.LIMIT [{アドレス | MAX}]CLEAR &HC000BASIC使用最上位アドレスを設定する
MAX指定時は全てをBASICエリアとする
COMMONCOM.COMMON 変数,変数2[,...]COMMON A,B$CHAINで引き渡す変数を定義する
SWAPSW.SWAP 変数1,変数2SWAP A,B変数の値を入れ替える
DEF FNDEF FN関数名(パラメータ[,パラメータ2[,...]])=定義式DEF FNTEST(X,A,B)=X^2+AX+Bユーザ定義関数を定義する
DEF INTDEF INT {変数名[,変数名2][,...] | 変数名1-変数名2}DEF INT A,B変数の整数型宣言をする
DEF SNGDEF SNG {変数名[,変数名2][,...] | 変数名1-変数名2}DEF SNG A-Z変数の単精度型宣言をする
DEF DBLDEF DBL {変数名[,変数名2][,...] | 変数名1-変数名2}DEF DBL A,B-Z変数の倍精度型宣言をする
DEF STRDEF STR {変数名[,変数名2][,...] | 変数名1-変数名2}DEF STR A-B,E,X-Z変数の文字型宣言をする
DIMDIM 変数名(最大値[,最大値2][,...])[,...]DIM A(100,10),B$(100)配列変数の定義をする
ERASEER.ERASE 配列名[,配列名2[,...]]ERASE A,B$配列変数を消去する
OPTION BASEOPT. BA.OPTION BASE {0 | 1}OPTION BASE 1配列添字の最小値を設定する
RANDOMIZERA.RANDOMIZE 式RANDOMIZE 1000乱数系列を設定する(初期値は6、指定範囲は-32768〜32767の整数型)
[戻る]
一般ステートメント:マシン語関連
表記省略形凡例使用例説明
CALLCA.CALL アドレス[(変数)]CALL &HD000指定したアドレスのマシン語サブルーチンを実行する
DEF USRDEF USR[番号(0〜9)]=アドレスDEF USR1=&HD000USRで呼び出すマシン語サブルーチンを定義する
POKEPO.POKE アドレス,数式[,...]POKE &HD000,&HC9指定したアドレスに値を書き込む
POKE@PO.@POKE@ ブロック番号,オフセット,数式[,...]POKE@ &H00,&H1000,&HC9指定したメモリブロック(&H00〜&H3F)のオフセット(&H0000〜&H1FFF)に値を書き込む
[戻る]
エラー処理ステートメント
表記省略形凡例使用例説明
ERRORERR.ERROR エラーコード(1〜255)ERROR 10指定したエラーを発生させる
ON ERROR GOTOO. ERR. G.ON ERROR GOTO {行番号 | ラベル}ON ERROR GOTO 100エラー発生時の分岐処理ルーチンを指定する
RESUMERESU.RESUME {{行番号 | ラベル} | NEXT}RESUME 100エラー処理を終了し、実行を再開する
無指定 : エラー原因になった行から再開する
{行番号 | "文字列" | 文字変数} : 指定した{行番号 | ラベル}から再開する
NEXT : エラー原因になった次の行から再開する
ON...RESUMEO. RESU.ON 式 RESUME {行番号 | ラベル}[,{行番号2 | ラベル2}][,...]ON A RESUME 100,200式の値に応じて指定された{行番号 | ラベル}から再開する
[戻る]
画面制御ステートメント
表記省略形凡例使用例説明
CLSCL.CLS [画面]CLS
CLS 3
指定した画面を消去する
1 : テキスト画面(省略時)
2 : グラフィック画面
3 : テキスト画面とグラフィック画面
COLOR M25COL.COLOR [テキスト色][,バックグラウンド色][,ボーダー色][,フォアグラウンド色][,バックモード]COLOR 7,0カラーを指定する
COLOR@ M25COL.@COLOR@ (X1,Y1)-(X2,Y2),カラーコードCOLOR@(0,0)-(20,20),1指定範囲のテキスト色を変更する
CCOLOR S25CC.CCOLOR [テキスト色][,[ボーダー色][,[バックモード]]]CCOLOR 7,0,0テキストのカラーを指定する
・バックモード(0:解除/1:グラフィック表示を不可視にする)
CCOLOR@ S25CC.@CCOLOR@ X1,Y1,X2,Y2,カラーコードCCOLOR@ 0,0,20,20,1指定範囲のテキスト色を変更する
COLOR S25COL.COLOR カラーコード[,モード]COLOR 7,0グラフィックのカラーを指定する
・モード
0 : 指定色を使用
1 : 既にある色との論理和を取る
2 : 既にある色との排他的論理和を取る
3 : 既にある色との論理積を取る
FILL S25FI.FILL カラーコードグラフィック画面を指定色で塗りつぶす(PAINTとは違いビューポート内全て)
COLOR=COL.=COLOR=(パレットコード,カラーコード)[,(...)]
COLOR=(カラーコード,G,R,B)[,(...)]
COLOR=(0,0),(1,1)
COLOR=(0,0,0,0),(1,0,0,15)
パレットを指定する(16色パレット用)
カラーパレットボード(MZ-1M10)装着時に指定可能
SCREEN
GRAPH
SC.
GR.
SCREEN 文字入力[,(文字出力[,文字出力2])][,グラフィック入力[,(グラフィック出力[,グラフィック出力2])][,入力プレーン][,(出力プレーン[,出力プレーン2])]SCREEN ,(0,1),,(0,1),(15)画面のモードを設定する
PRIORITYPRIO.PRIORITY [文字対グラフィック][,グラフィック]PRIORITY 0,0文字とグラフィックの表示優先度を設定する
文字対グラフィックはパレットコードに対応したビットが0なら文字を優先する
グラフィックは0:1/2:3のそれぞれの画面で0なら最初の方を1なら最後の方を優先する
[戻る]
テキスト画面ステートメント
表記省略形凡例使用例説明
INITINIT "CRT[1]:[桁数[,行数][,半角フォント][,スクロールモード]"INIT "CRT1:80,25,0,1"文字表示の初期化を行う
WIDTHWI.WIDTH [桁数][,行数]WIDTH 80,25画面桁数を設定する
行数 : 40/80
桁数 : 12/20/25
CONSOLECONS.CONSOLE[@] [[縦方向開始行],行数[,[横方向開始桁],桁数]]CONSOLE 0,25,0,80テキスト画面での文字表示エリアを設定する
「@」を付加した場合はテキスト画面のディスプレイへの表示エリアを設定する
(表示されないだけで範囲外でも出力はされている)
LOCATE M25
CURSOR S25
LOC. M25
CU. S25
LOCATE X,Y[,カーソルスイッチ]LOCATE 10,10指定した位置にカーソルを移動する
CREVCR.CREV [文字反転モード(0〜1)]CREV 1文字の反転状態を設定する
CREV@CR.CREV@ (X1,Y1)-(X2,Y2).文字反転モード(0〜1)CREV@(0,0)-(10,10),1指定範囲での文字の反転状態を設定する
CFLASHCF.CFLASH [文字明滅モード(0〜1)]CFLASH 1文字の明滅状態を設定する
CFLASH@CF.@CFLASH@ (X1,Y1)-(X2,Y2).文字明滅モード(0〜1)CFLASH@(0,0)-(10,10),1指定範囲での文字の明滅状態を設定する
CGENCG.CGEN [PCGモード(0〜1)[,PCG指定(0〜3)]]CGEN 1PCGの使用状態を設定する
0 : ROM CG(省略時)
1 : PCG1〜3を使用
1,0〜3 : 指定したPCGのみを使用
GET% M25GET% (X1,Y1)-(X2,Y2),配列変数GET%(0,0)-(10,10),A%指定範囲内のテキストデータを配列変数に保存する
GET% S25GET% X1,Y1,X2,Y2,配列変数GET% 0,0,10,10,A%指定範囲内のテキストデータを配列変数に保存する
PUT% M25PUT% (X1,Y1)-(X2,Y2),配列変数PUT%(0,0)-(10,10),A%配列変数に保存されたテキストデータを表示する
PUT% S25PUT% X1,Y1,X2,Y2,配列変数PUT% 0,0,10,10,A%配列変数に保存されたテキストデータを表示する
[戻る]
グラフィックステートメント
表記省略形凡例使用例説明
OPTION SCREENOP. SC.OPTION SCREEN モード(1〜4)OPTION SCREEN 4グラフィックメモリの使用目的を設定する
INITINIT "CRT2:[横ドット数,縦ドット数,表示色数]"INIT "CRT2:640,200,16"グラフィック表示の初期化を行う
INITINIT "CRT3:[グラフィック出力[,反転モード]]"INIT "CRT3:0,0"デジタルモノクロディスプレイへの出力を設定する
・グラフィックモード(0/1)
0 : 出力(デフォルト)
1 : 出力しない
・反転モード(0/1)
0 : 反転しない(デフォルト)
1 : 反転する
CBLOCKCB.CBLOCK [ブロック番号]CBLOCK 0グラフィック表示色のブロック設定をする
初期値は0で青のみが4段階変化となる
VIEW M25VI.VIEW[@] (X1,Y1)-(X2,Y2)[,[エリア色][,ボーダー色]]VIEW(0,0)-(100,100)グラフィックの表示エリアを設定する
「@」を付加した場合はグラフィック画面のディスプレイへの表示エリアを設定する
(表示されないだけで範囲外でも出力はされている)
VIEW S25VI.VIEW[@] X1,Y1,X2,Y2[,[エリア色][,ボーダー色]]VIEW 0,0,100,100グラフィックの表示エリアを設定する
「@」を付加した場合はグラフィック画面のディスプレイへの表示エリアを設定する
(表示されないだけで範囲外でも出力はされている)
WINDOW M25WIN.WINDOW [(X1,Y1)-(X2,Y2)]WINDOW (0,0)-(100,100)ワールド座標を設定する
WINDOW S25WIN.WINDOW [X1,Y1,X2,Y2]WINDOW 0,0,100,100ワールド座標を設定する
PENPEN {[番号] | 番号,形状指定文字列}PEN 0
PEN 0,A$
グラフィック描画時のペン形状を指定する
ペン形状を定義する
PSET(SET),PRESET(RESET),LINE,(BOX,)CIRCLE,CONNECT,POLYに影響する
LINE M25LINE [[STEP](X1,Y1)]-[STEP](X2,Y2)[,モード[,カラーコード[,B[,ラインスタイル]]]]LINE(0,0)-(100,100),PSET,4,,&HFF00{直線 | 長方形}を描画する
STEPを使用したときは相対座標指定となる
LINE M25LINE [[STEP](X1,Y1)]-[STEP](X2,Y2),モード,BF,タイリングパターンLINE(0,0)-(100,100),PSET,BF,P$長方形を描画し、指定した色かタイリングパターンで塗りつぶす
LINE S25LINE [[カラーコード[,[モード][,ラインスタイル]]]] {STEP(X1,Y1),STEP(X2,Y2)[,...] | X1,Y1,X2,Y2[,...]}LINE [4] 0,0,100,100直線を描画する
カラーコード、モードはCOLOR(S25)と同じ
省略時はCOLOR(S25)に従う
ラインスタイルはLINE(M25)と同じ
BLINE S25BL.BLINE [[カラーコード[,[モード][,ラインスタイル]]]] {STEP(X1,Y1),STEP(X2,Y2)[,...] | X1,Y1,X2,Y2[,...]}BLINE [4] 0,0,100,100RESETした直線を描画する
カラーコードはCOLOR(S25)と同じ
省略時はCOLOR(S25)に従う
ラインスタイルはLINE(M25)と同じ
・モード
0 : 指定色を構成するプレーンのみ(2/3指定時も同様)
1 : 指定色の補色でLINE
BOX S25BOX [[カラーコード[,[モード][,ラインスタイル]]]] X1,Y1,X2,Y2[,{タイリングパターン | 塗りつぶしカラーコード}]BOX [4] 0,0,100,100長方形を描画する
カラーコード、モードはCOLOR(S25)と同じ
省略時はCOLOR(S25)に従う
ラインスタイルはLINE(M25)と同じ
タイリングパターンはPAINTと同じ
CONNECT M25CONNECT [[STEP](X1,Y1)]-[STEP](X2,Y2)[-[STEP](X3,Y3)][-...-[STEP](Xn,Yn)][,カラーコード[,モード[,ラインスタイル]]]CONNECT(0,0)-(100,100)-(200,200)-(300,300)直線を連続で描画する
POLY M25POL.POLY [STEP](X,Y),半径[,カラーコード[,ステップ角[,開始角[,終了角[,モード[,ラインスタイル]]]]]]POLY(0,0),7,60,0,360正多角形を描画する
開始角、終了角の単位はOPTION ANGLEに依存
POLY S25POL.POLY [[カラーコード[,[モード[,ラインスタイル]]]]] {STEP(X,Y) | X,Y},半径[,ステップ角[,開始角[,終了角]]]POLY [7] 0,0,60,0,360正多角形を描画する
開始角、終了角の単位はOPTION ANGLEに依存
カラーコード、モード、ラインスタイルは「[ ]」で括る
カラーコード、モードの内容はCOLOR(S25)と同じ
省略時はCOLOR(S25)に従う
ラインスタイルはLINEと同じ
CIRCLE M25CI.CIRCLE [STEP](X,Y),半径[,[カラーコード[,開始角[,終了角[,比率[,モード]]]]]]CIRCLE(0,0),100,2円を描画する
開始角、終了角の単位はOPTION ANGLEに依存(値を負にすると中心点に向けて直線を描画)
比率は垂直半径÷水平半径(640x200のときは更に÷2)
モードはLINEと同じ
CIRCLE S25CI.CIRCLE [[カラーコード[,モード]]] {STEP(X,Y) | X,Y},半径[,[,比率[,開始角[,終了角[,[O]]]]]]CIRCLE [2] 0,0,100円を描画する
開始角、終了角の単位はOPTION ANGLEに依存(値を負にすると中心点に直線を描画)
比率は垂直半径÷水平半径(640x200のときは更に÷2)
「O」を付加した場合は中心点に向けて直線を描画
カラーコード、モードは「[ ]」で括る
内容はCOLOR(S25)と同じ
省略時はCOLOR(S25)に従う
PAINT M25PA.PAINT [STEP](X,Y),{領域色 | タイリングパターン}[,[NOT] 境界色[,...]]PAINT(100,100),5,2
PAINT(100,100),T$
指定した境界色で囲まれた領域を塗る(NOT指定時は指定した色以外を境界色とする)
4,16色時のタイリングパターンはB,R,G,Iの各要素を4バイトで指定
256色時のタイリングパターンはB1,R1,G1,I1,B0,R0,G0,I0の各要素を8バイトで指定
PAINT S25PA.PAINT [[{領域色 | タイリングパターン}]] {STEP(X,Y) | X,Y}[,[NOT] 境界色[,...]]PAINT [5] 100,100,2
PAINT [T$] 100,100,15
指定した境界色で囲まれた領域を塗る(NOT指定時は指定した色以外を境界色とする)
4,16色時のタイリングパターンはB,R,G,Iの各要素を4バイトで指定
256色時のタイリングパターンはB1,R1,G1,I1,B0,R0,G0,I0の各要素を8バイトで指定
領域色、タイリングパターンは「[ ]」で括る
領域色(カラーコード)はCOLOR(S25)と同じ
省略時はCOLOR(S25)に従う
PSET M25PS.PSET [STEP](X,Y)[,[カラーコード][,モード]]PSET(100,100,2)指定した座標にドットを表示する
カラーコード、モードはLINEと同じ
PRESET M25PRE.PRESET [STEP](X,Y)[,[カラーコード][,モード]]PRESET(100,100)指定した座標のドットを削除する(カラーコード、機能省略時)
カラーコード、モードはLINEと同じ
カラーコードを指定した場合はPSETと同じ
SET S25SET [([カラーコード][,モード])] X,YSET 100,100指定した座標にドットを表示する
カラーコード、モードは「[ ]」で括る
カラーコード、モードはCOLOR(S25)と同じで省略時はCOLOR(S25)に従う
RESET S25RESET [([カラーコード][,モード])] X,YRESET 100,100指定した座標のドットを削除する(カラーコード、機能省略時)
カラーコード、モードは「[ ]」で括る
カラーコードはCOLOR(S25)と同じ
省略時はCOLOR(S25)に従う
・モード
0 : 指定色を構成するプレーンのみ(2/3指定時も同様)
1 : 指定色の補色でSET
PATTERN M25PAT.PATTERN [STEP](X,Y),段数,パターン[,[カラーコード][,[バックグラウンド色][,モード]]]PATTERN (0,0),-16,A$グラフィック画面に指定のドットパターンを表示する
段数は-255〜255まで指定可能で、負数の場合は下方向に重ねる
パターンは1バイトが1段に対応
カラーコード、モードはLINEと同じだが、PATTERNのみ使用可能なものが追加されている
省略時はCOLOR(S25)に従う
・モード
SCR   : カラーコードに該当するプレーンにのみ描画
FPSET : パターンの存在する部分のみカラーコードで描画する
PATTERN S25PAT.PATTERN [[カラーコード][,モード][,[バックグラウンド色]]] 段数,パターンPATTERN [4] -16,A$グラフィック画面に指定のドットパターンを表示する
描画位置はPOSITIONにて指定された座標
カラーコード、モード、バックグラウンド色は「[ ]」で括る
カラーコード、モード、バックグラウンド色はCOLOR(S25)と同じだが、モードはPATTERNのみ使用可能なものが追加されている
省略時はCOLOR(S25)に従う
・モード
4 : パターンが存在する部分のみカラーコードで描画する
5 : カラーコードに該当するプレーンにのみ描画する
SYMBOL M25SY.SYMBOL [STEP](X,Y),文字列式[,[横倍率][,[縦倍率][,{カラーコード][,[角度(0〜3)][,[モード][,[フォント]]]]]]SYMBOL(100,100),C$,2,2,7,0,PSET
SYMBOL(100,100),C$,4,4,T$,0,""
文字列式を指定のサイズ・角度で表示する
カラーコード、モードはLINEと同じ
・角度
0 : 通常(省略時)
1 : 反時計回り90度回転
2 ; 180度回転
3 : 時計回り90度回転
・フォント
0 : 8x8
1 : 8x16
SYMBOL S25SY.SYMBOL [[カラーコード][,[モード]]] {STEP(X,Y) | X,Y},文字列式[,[横倍率][,[縦倍率][,[角度(0〜3)][,[フォント]]]]]SYMBOL [4] 100,100,C$,4,4,0,0文字列式を指定のサイズ・角度で表示する
カラーコード、モードは「[ ]」で括る
カラーコード、モードはCOLOR(S25)と同じ
省略時はCOLOR(S25)に従う
・角度
0 : 通常(省略時)
1 : 反時計回り90度回転
2 ; 180度回転
3 : 時計回り90度回転
・フォント
0 : 8x8
1 : 8x16
COLOR REPLACE M25COL. REPL.COLOR REPLACE [STEP](X1,Y1)-[STEP](X2,Y2),(旧カラーコード,新カラーコード)[,...]COLOR REPLACE (0,0)-(100,100),(0,1)指定範囲内のグラフィック表示色を変更する(GRAM上のデータを変更)
COLOR REPLACE S25COL. REPL.COLOR REPLACE{STEP(X1,Y1) | X1,Y1},{STEP(X2,Y2) | X2,Y2},旧カラーコード,新カラーコード[,...]COLOR REPLACE 0,0,100,100,0,1指定範囲内のグラフィック表示色を変更する(GRAM上のデータを変更)
MOVE M25MOV.MOVE [STEP](X1,Y1),横幅,縦幅,[STEP](X2,Y2)[,[プレーン][,[移動処理][.[モード]]]]MOVE (0,0),16,16,(20,20)指定したプレーンに表示されているグラフィックを移動する
モードはLINEと同じだが、モードはMOVEのみ使用可能なものが追加されている
・移動処理
0 : 移動前のデータを消去(省略時)
1 : 消去しない
・モード
SCR   : カラーコードに該当するプレーンにのみ描画
MOVE S25MOV.MOVE [[プレーン][.[モード]]] {STEP(X1,Y1) | X1,Y1},横幅,縦幅,{STEP(X2,Y2) | X2,Y2}[,移動処理]MOVE (0,0),16,16,(20,20)指定したカラーコードに該当するプレーンに表示されているグラフィックを移動する
カラーコード、モードは「[ ]」で括る
カラーコード、モードはCOLOR(S25)と同じ
省略時はCOLOR(S25)に従う
・移動処理
0 : 移動前のデータを消去(省略時)
1 : 消去しない
ROLLRO.ROLL[@] [移動量]ROLL 16移動量が正の場合は上方向、負の場合は下方向に指定したドット数分のスクロールを行う
移動の反対側は消去される
「@」を付加した場合は、移動により画面外に出た部分を反対側に表示する
移動量を省略した場合は初期化する(「@」が付加された場合のみ)
POINT M25POI.POINT {(X,Y) | STEP (X,Y) | SCREEN (X,Y) | SCREEN STEP (X,Y)}POINT(0,0)グラフィックポインタの位置を指定する
STEPは相対座標指定
SCREENはスクリーン座標指定
POSITION S25POS.POSITION {X,Y | STEP (X,Y) | SCREEN X,Y | SCREEN STEP (X,Y)}POSITION 0,0グラフィックポインタの位置を指定する
STEPは相対座標指定
SCREENはスクリーン座標指定
GET@ M25GET@ [STEP](X1,Y1)-[STEP](X2,Y2),配列変数GET%(0,0)-(10,10),A%指定範囲内のグラフィックデータを配列変数に保存する
GET@ S25GET@ {STEP(X1,Y1) | X1,Y1},{STEP(X2,Y2) | X2,Y2},配列変数GET% 0,0,10,10,A%指定範囲内のグラフィックデータを配列変数に保存する
PUT@ M25PUT@ [STEP](X1,Y1)-[STEP](X2,Y2),配列変数PUT%(0,0)-(10,10),A%配列変数に保存されたグラフィックデータを表示する
PUT@ S25PUT@ {STEP(X1,Y1) | X1,Y1},{STEP(X2,Y2) | X2,Y2},配列変数PUT% 0,0,10,10,A%配列変数に保存されたグラフィックデータを表示する
GSAVE M25GS.GSAVE "[装置名:][パス名]ファイル名"[,(X1,Y1)-(X2,Y2)]GSAVE "TEST".(0,0)-(100,100)グラフィックデータをファイルに保存する
範囲を省略した場合はビューポートの全てを保存する
FD1:〜FD4:,MEM:で使用可能
GSAVE S25GS.GSAVE "[装置名:][パス名]ファイル名"[,X1,Y1,X2,Y2]GSAVE "TEST".0,0,10,10グラフィックデータをファイルに保存する
範囲を省略した場合はビューポートの全てを保存する
FD1:〜FD4:,MEM:で使用可能
GLOAD M25GL.GLOAD "[装置名:][パス名]ファイル名"[,(X1,Y1)-(X2,Y2)]GLOAD "TEST"グラフィックデータをファイルから読み込んで表示する
範囲を省略した場合は保存された時の座標に表示する
画面モードが一致しない場合の描画は保証されない
FD1:〜FD4:,MEM:で使用可能
GLOAD S25GL.GLOAD "[装置名:][パス名]ファイル名"[,X1,Y1,X2,Y2]GLOAD "TEST"グラフィックデータをファイルから読み込んで表示する
範囲を省略した場合は保存された時の座標に表示する
画面モードが一致しない場合の描画は保証されない
FD1:〜FD4:,MEM:で使用可能
[戻る]
プリンタ制御ステートメント
表記省略形凡例使用例説明
INITINIT "LPT:[{0 | 1 | 2]"INIT "LPT:0"プリンタスプーラを設定する
省略時 : バッファを初期化する
0 : ダイレクトモード
1 : スプーラモード
2 : ダイレクトモード(直前がスプーラモードだった場合はデータを全て出力する)
HCOPYH.HCOPY [画面]HCOPY C$画面をプリンタにコピーする
1 : テキスト画面
2 : グラフィック画面
3 : テキスト画面とグラフィック画面(省略時)
WIDTH LPRINT M25
WIDTH PRINT/P S25
WI. {LP. | L?} M25
WI. {P./P | ?/P} S25
WIDTH LPRINT 印字幅(1〜255)WIDTH LPRINT 255プリンタの印字幅(初期値:255)を設定する
LPOUTLP.LPOUT 文字列式LPOUT C$プリンタに制御コードを送信する
[戻る]
漢字関連ステートメント
表記省略形凡例使用例説明
KMODEKM.KMODE {[0] | 1}KMODE 1漢字モードを設定する
0 : 通常モード(省略時)
1 : 漢字モード(起動時)
[戻る]
キー制御ステートメント
表記省略形凡例使用例説明
INITINIT "KB:[カナ配列][,[文字選択][,[CAPSLOCK][,[漢字入力]]]]"INIT "KB:0,0,0,0"キーボード機能を設定する
・カナ配列 : 0(JIS)/1(50音)
・文字選択 : 0(英数)/1(カナ)/2(GRPH)
・CAPSLOCK : 0(小文字)/1(大文字)
・漢字入力 : 0(OFF)/1(ON)
KEY M25K.KEY 番号(1〜20),文字列式KEY 1,C$ファンクションキーに文字列を設定する
DEF KEY S25DEF K.DEF KEY(番号(1〜20))=文字列式DEF KEY(1)=C$ファンクションキーに文字列を設定する
KEYK.KEY[番号(1〜20)] {ON | OFF | STOP}KEY1 ON
KEY STOP
ファンクションキー割込を{開始 | 禁止 | 停止}する
番号を省略してKEY ON | OFF |STOPとした場合はファンクションキー全体の割込を設定する
KEY 0 M25K. 0KEY 0,文字列式KEY 0,C$キーバッファに文字列を設定する
DEF KEY(0) S25DEF K.(0)DEF KEY(0)=文字列式DEF KEY(0)=C$キーバッファに文字列を設定する
ON KEY GOSUBO. K. GOS.ON KEY GOSUB {行番号 | ラベル}[,{行番号2 | ラベル2}][,...]ON KEY GOSUB 100,200ファンクションキーからの割り込みが発生した場合の分岐処理サブルーチンを指定する
KLIST
KEYLIST
KL.
K.L.
KEY LIST
KLIST [表示]
KLIST
KLIST 0
ファンクションキーの設定を表示する
・表示(KLISTのみ)
0 : 最下行のファンクションキー機能消去
1 : 最下行のファンクションキー機能表示
2 : 最下行のファンクションキー機能と時計を表示
STOPS.STOP {ON | OFF | STOP}STOP ON[BREAK]キー割込を{許可 | 禁止 | 停止}する
ON STOP GOSUBO. S. GOS.ON STOP GOSUB {行番号 | ラベル}ON STOP GOSUB 100[BREAK]キーからの割込が発生した場合の分岐処理サブルーチンを指定する
HELPHEL.HELP HELP ON[HELP]キー割込を{開始 | 禁止 | 停止}する
ON HELP GOSUBO. HEL. GOS.ON HELP GOSUB {行番号 | ラベル}ON HELP GOSUB 100[HELP]キーからの割込が発生した場合の分岐処理サブルーチンを指定する
CLICKCLI.CLICK {ON | OFF}CLICK ONキークリック音を{開始 | 停止}する
REPEATREP.REPEAT {ON[,スピード] | OFF}REPEAT ONキーリピート機能を{開始 | 停止}する
・スピード
0 : リピートなし(OFFと同じ)
1 : 低速
2 : 中速(省略時)
3 : 高速
4 : 最高速
GET S25GET 変数GET A$キーボードより1文字入力を行う(入力は待たない)
[戻る]
通信回線制御ステートメント
表記省略形凡例使用例説明
COMCOM {ON | OFF | STOP}COM ON通信回線割込を{開始 | 禁止 | 停止}する
ON COM GOSUBO. COM GOS.ON COM GOSUB {行番号 | ラベル}ON COM GOSUB 100通信回線からの割込が発生した場合の分岐処理サブルーチンを指定する
[戻る]
マウス制御ステートメント
表記省略形凡例使用例説明
MOUSEMOU.MOUSE {機能[,指定[,...]] | {ON | OFF | STOP}}MOSUE 0
MOUSE ON
マウスの機能を設定する
マウス割込を{開始 | 禁止 | 停止}する
ON MOUSE GOSUBO. MOU. GOS.ON MOUSE GOSUB [{行番号1 | ラベル1}][,...][,{行番号5 | ラベル5}]ON MOUSE GOSUB 100,200,,,500マウスからの割込が発生した場合の分岐処理サブルーチンを指定する
1 : マウスが移動した
2 : ボタン1が押下された
3 : ボタン2が押下された
4 : ボタン1が離された
5 : ボタン2が離された
[戻る]
タイマ制御ステートメント
表記省略形凡例使用例説明
TIME$ M25
TI$ S25
TI. M25TIME$ {ON | OFF | STOP}TIME$ ONタイマ割込を{開始 | 禁止 | 停止}する
ON TIME$ GOSUB M25
ON TI$ GOSUB S25
O. TI. GOS. M25
O. TI$ GOS. S25
ON TIME$="hh:mm[/間隔(00〜59分)]" GOSUB {行番号 | ラベル}ON TIME$="00:00" GOSUB 100タイマからの割込が発生した場合の分岐処理サブルーチンを指定する
間隔を指定した場合はその後設定した間隔でサブルーチンへ飛ぶ
INTERVALINTE.INTERVAL {周期 | {ON | OFF | STOP}}INTERVAL 100
INTERVAL ON
インターバルタイマの周期(単位0.1s : 1〜65535)を設定する
インターバルタイマ割込を{開始 | 禁止 | 停止}する
ON INTERVAL GOSUBO. INTE. GOS.ON INTERVAL GOSUB {行番号 | ラベル}ON INTERVAL GOSUB 100インターバルタイマからの割込が発生した場合の分岐処理サブルーチンを指定する
[戻る]
カセットテープ制御ステートメント
表記省略形凡例使用例説明
INITINIT "CMT:[録音入力][,[操作ボタン][,[オートプレイ][,[オートリワインド][,プログラム同期]]]]INIT "CMT:"カセットテープをボイスレコーダとして設定する
省略時は全て0に設定
・録音入力(0:ライン/1:マイク)
・操作ボタン(0:操作可能/1:操作不可)
・オートプレイ(0:無効/1:有効)
・オートリワインド(0:無効/1:有効)
・プログラム同期(0:無効/1:有効)
CMT=CMT=機能[,時間[,時間2]]CMT=0
APSSAP.APSS 番号(-128〜127)APSS 10カセットテープの録音の切れ目を頭出しする
[戻る]
サウンド制御ステートメント
表記省略形凡例使用例説明
BEEPB.BEEPBEEPBEEP音を鳴らす
PLAY M25
MUSIC S25
PL. M25
MU. S25
PLAY "MML文字列1[,MML文字列2[,...[,MML文字列6]]]"
PLAY {INIT | WAIT}
PLAY "O3CDEFGAB","O4CDEFGAB"
PLAY INIT
MML の文法に従って演奏する
・INIT : PSGの初期化
・WAIT : 演奏の終了を待つ
TEMPO S25TE.TEMPO テンポ(1〜7)テンポを設定する
・テンポ
1 : 32
2 : 61
3 : 90
4 : 120
5 : 165
6 : 210
7 : 255
SOUND M25SO.SOUND レジスタ番号(0〜13),データ(0〜255)SOUND 7,&H38SSGレジスタを操作する
(レジスタ番号自体は179まで有効だが、SSGは13まで)
SOUND= S25SO.=SOUND=(レジスタ番号(0〜13),データ(0〜255))SOUND=(7,&H38)SSGレジスタを操作する
(レジスタ番号自体は179まで有効だが、SSGは13まで)
SOUND S25SO.SOUND 音階(0〜95),音長(0〜255)SOUND 7,10MMLの「Nn」と同じ
TONETON.TONE 整数配列[,整数配列2[,整数配列3]]TONE A%OPNの音色を設定する
TONE COPYTON. COP.TONE COPY 音色番号,整数配列TONE COPY 0,A%音色データを配列に保存する
TONE LFOTON. LF.TONE LFO チャンネル[,[波形][,[同期][,[スピード][,[PMD][,AMD]]]]]TONE LFO 1OPNのビブラート、トレモロ機能を設定する
・チャンネル(1〜6)
・波形
0 : 鋸波
1 : 矩形波
2 : 三角波
3 : ランダム
・同期(0 : 音の発声とは無関係でLFO波形を生成/1 : 音の発声と同時にLFO波形を生成)
・スピード(0〜255 : 値が大きい程周波数が高くなる)
・PMD(-127〜127 : Pitch Modulation Depth : LFOの音程に対する深度[ビブラート]、負数は波形極性が反転)
・AMD(-127〜127 : Amplitude Modulation Depth : LFOの音量に対する深度[トレモロ]、負数は波形極性が反転)
PLAY M25
MUSIC S25
PL. M25
MU. S25
PLAY {ON | OFF | STOP}PLAY ON音楽演奏終了時割込を{開始 | 禁止 | 停止}する
ON PLAY GOSUB M25
ON MUSIC GOSUB S25
O. PL. GOS. M25
ON MU. GOSUB S25
ON PLAY GOSUB {行番号 | ラベル}ON PLAY GOSUB 100音楽演奏終了時割込が発生した場合の分岐処理サブルーチンを指定する
[戻る]
音声合成制御ステートメント(要ボイスボード : MZ-1X08)
表記省略形凡例使用例説明
VOICEV.VOICE [[スピード][,[数値読み]]] 文字列[,文字列2[,...]]VOICE [1] "ABC"ボイスボードの音声合成を発声させる
VOICE@V.@VOICE@ 番号VOICE@ 1ボイスボード内蔵のメッセージを発声する
[戻る]
モデムフォン関連ステートメント(要モデムフォン : MZ-1X19)
表記省略形凡例使用例説明
TELTEL "COM{[1] | 2}:{M | T}"TEL "COM:M"モデムフォンの制御を設定する
・M : 電話回線へ伝送(外部モデム使用時)
・T : モデムフォンへ伝送
[戻る]
ジョイスティック関連ステートメント
表記省略形凡例使用例説明
STICKSTI.STICK {ON | OFF}STICK ONジョイスティック1をカーソルキーの代用とする処理を{開始 | 停止}する
(STICK関数を使用する場合はOFFにする)
[戻る]
特殊ステートメント
表記省略形凡例使用例説明
OUT M25OUT ポート番号,数式OUT &HD000,10ポートに値を出力する
WAIT M25WA.WAIT 入力ポート番号(&H00〜&HFF),数式(0〜255)[,数式2]WAIT &H30,0入力ポートが指定したデータになるまで待つ
(データ[と数式2のXORを取った結果]と数式のANDを取った結果が0以外)
INP@ S25INP@ 入力ポートアドレス(&H0000〜&HFFFF),数値変数INP@ &H1000,Aポートからデータを入力する
OUT@ S25OUT@ 出力ポートアドレス(&H0000〜&HFFFF),数値変数OUT@ &H1000,Aポートへデータを出力する
[戻る]
文字列関数
表記省略形凡例使用例説明
ASCASC(文字列式)ASC("TEST")文字列先頭のキャラクタコードを返す
VALVAL(文字列式)VAL("123")文字列を数値に変換する
CHR$CHR$(数式)CHR$(41)指定したキャラクタコードの文字を返す(2バイト指定で全角文字も対応可能)
STR$STR$(数式)STR$(A)数値を文字列に変換する
STRING$STRI.STRING$(式,[文字列 | 数式})STRING$(10,"=")指定した文字数だけ追加した文字列を返す
SPACE$SPA.SPACE$(数式)SPACE$(A)指定した長さの空白文字列を返す
SPCSP.SPC(数式)SPC(A)指定した長さの空白を返す(出力文字式内でのみ使用)
TABTAB(数式)TAB(A)指定した位置まで空白を返す(出力文字式内でのみ使用)
HEX$HE.HEX$(数式)HEX$(255)10進数を16進数文字列に変換する
OCT$OC.OCT$(数式)OCT$(255)10進数を8進数文字列に変換する
BIN$BI.BIN$(数式)BIN$(255)10進数を2進数文字列に変換する
INSTRINS.INSTR([開始位置,]文字列1,文字列2INSTR(3,A$,"A")文字列1の指定位置から文字列2を検索して位置を返す
SEARCHSEA.SEARCH(配列名,文字列式[,開始位置])SEARCH(A$,"TEST)配列内の文字列を検索して位置を返す
LENLEN(文字列式)LEN(A$)文字列の文字数を返す
LEFT$LEF.LEFT$(文字列式,式)LEFT$(A$,2)文字列の左側から式で指定した桁数の文字列を返す
MID$MI.MID$(文字列式,式1[,式2])[=文字列]MID$(A$,2,1)文字列の式1で指定した位置から式2で指定した桁数の文字列を返す(=文字列を指定した場合はその文字列と置換する)
RIGHT$RI.RIGHT$(文字列式,式)RIGHT$(A$,2)文字列の右側から式で指定した桁数の文字列を返す
MIRROR$MIR.MIRROR$(文字列式)MIRROR$(A$)文字列を2進数で転置した文字列を返す
HEXCHR$HEX.HEXCHR$(16進文字列式)HEXCHR$(A$)16進文字列をキャラクタコードに変換し、文字列を返す
ASCCHR$ASC.ASCCHR$(文字列式)ASCCHR$(A$)キャラクタコードを16進文字列に変換し、文字列を返す
CVICVI(2バイト文字列式)CVI(TEST$)文字列を整数値に変換する
CVSCVS(4バイト文字列式)CVS(TEST$)文字列を単精度値に変換する
CVDCVD(8バイト文字列式)CVD(TEST$)文字列を倍精度値に変換する
MKI$MKI$(整数値)MKI$(A%)整数値を文字列に変換する
MKS$MKS$(単精度値)MKS$(A!)単精度値を文字列に変換する
MKI$MKI$(倍精度値)MKD$(A#)倍精度値を文字列に変換する
[戻る]
入出力用関数
表記省略形凡例使用例説明
CHARACTER$CHAR.CHARACTER$(X,Y)SCRN$(0,0,T$)テキスト画面の文字を返す
DEF CHR$DEF CHR$(コード[,PCG指定])=定義文字列式DEF CHR$(0)=T$PCGを定義する
CGPAT$CGP.CGPAT$(コード[,PCG指定])CGPAT$(10)PCGに定義されているドットパターンを返す
&H00〜&HFF : 8x8 PCG
&H100〜&H1FE(偶数値) : 8x16 PCG
&H200〜&H2FF : 8x8 ROMCG
&H300〜&H3FF : 8x16 ROMCG
&H8140〜&HEAA2 : 全角文字(漢字ROM)
&HEC9F〜&HECFC : 外字 PCG
&HED40〜&HED7E
&HED80〜&HEDA2
INKEY$INK.INKEY$INKEY$押されたキーの値を返す
INPUT$I.$INPUT$(文字数(0〜255))[,ファイル番号(1〜127)]INPUT$(10)キーボードもしくはファイルから文字列を読み込む
ファイル番号を省略した場合はキーボードからの入力(プロンプトの表示はない)
[戻る]
全角文字関数
表記省略形凡例使用例説明
AKCNV$AK.AKCNV$(文字列式)AKCNV$(T$)文字列中の1バイト文字を2バイト文字に変換する
KACNV$KA.KACNV$(文字列式)KACNV$(T$)文字列中の2バイト文字を1バイト文字に変換する
JIS$J.JIS$(2バイト文字列式)JIS$(T$)JIS漢字コードを返す
KTN$KT.KTN$(2バイト文字列式)KTN$(T$)区点コードを返す
KLENKLE.KLEN(文字列式)KLEN(T$)2バイト文字を1文字とした文字数を返す
KPOSKP.KPOS(文字列式,文字数(0〜255))KPOS(T$,10)文字列の戦闘からの位置を返す
(文字数は2バイト文字を1文字として、返値は該当する文字のバイト数となる)
[戻る]
数値関数
表記省略形凡例使用例説明
CINTCINT(数式)CINT(A%)数式を整数値に変換する
CSNGCS.CSNG(数式)CSNG(A!)数式を単精度に変換する
CDBLCD.CDBL(数式)CDBL(A#)数式を倍精度に変換する
FIXFIX(数式)FIX(A)数式の整数値を返す(小数点以下を切り捨てる)
INTINT(数式)INT(A)数式の整数値を返す(数式の値を超えない整数値)
FRACFR.FRAC(数式)FRAC(A)数式の小数部を返す
SGNSG.SGN(数式)SGN(A)数式の符号を返す
RNDRND(数式)RND(A)0以上1未満の乱数を返す(引数が倍精度のときのみ、倍精度となる)
・数式
=0 : 直前と同じ値の乱数
<0 : 乱数を初期化する
[戻る]
数学関数
表記省略形凡例使用例説明
ABSAB.ABS(数式)ABS(-1000)絶対値を返す
SINSIN(数式)SIN(30)正弦(サイン)の値を返す
COSCOS(数式)COS(30)余弦(コサイン)の値を返す
TANTAN(数式)TAN(30)正接(タンジェント)の値を返す
ATNATN(数式)ATN(30)逆正接(アークタンジェント)の値を返す
DEGDEG(数式)DEG(3.14)度単位で値を返す
RADRAD(数式)RAD(30)ラジアン単位で値を返す
PAIPAI(数式)PAI(1)円周率を返す(数値指定は倍数を表す)
EXPEXP(数式)EXP(1)自然対数の低(e)に対する指数関数の値を返す
LNLN(数式)LN(1)自然対数の値を返す
LOGLOG(数式)LOG(1)常用対数の値を返す
SQRSQR(数式)SQR(2)平方根の値を返す
FACFAC(数式)FAC(2)階乗の値を返す
SUMSUM(変数,初値,終値,数式)SUM(A,1,10,A*A)総和を返す
[戻る]
ファイル用関数
表記省略形凡例使用例説明
LOCLOC(ファイル番号(1〜127))LOC(1)指定したファイル番号の論理的位置を返す
LOFLOF(ファイル番号(1〜127))LOF(1)指定したファイル番号のサイズを返す
FPOSFP.FPOS(ファイル番号(1〜127))FPOS(1)指定したファイル番号のデバイス先頭からの現在位置を返す
ATTR$ATT.ATTR$("[装置名:][パス名]ファイル名")ATTR$("test")指定したファイルの属性を返す
FD1:〜FD4:,MEM:で使用可能
space(" ") : 属性なし
null("") : 指定したファイルが存在しない
P : Protect(書込禁止)
DEVFDEVF("装置名:")DEVF("FD1:")指定したデバイスの残り容量(クラスタ)を返す
FD1:〜FD4:,MEM:で使用可能
EOFEOF(ファイル番号(1〜127))EOF(1)シーケンシャルファイルの終端を検出する
PWD$PW.PWD$PWD$カレントディレクトリを返す
[戻る]
データ用関数
表記省略形凡例使用例説明
INP M25INP(アドレス)INP(&H1100)指定したポート番号の入力値を返す
PEEKPEEK(アドレス)PEEK(&HD000)指定したアドレスのデータ値を返す
PEEK@PEEK@ ブロック番号,オフセット,数式[,...]PEEK@ &H00,&H1000,&HC9指定したメモリブロック(&H00〜&H3F)のオフセット(&H0000〜&H1FFF)からデータ値を返す
[戻る]
ジョイスティック用関数
表記省略形凡例使用例説明
STICKSTI.STICK(機能)STICK(0)ジョイスティックの方向を返す
・返値
0 : 操作なし
1〜9 : テンキーの5を中心とした方向の値となる(5は未使用)
・機能
1:ジョイスティック1
2:ジョイスティック2
STRIGSTR.STRIG(機能)STRIG(0)ジョイスティックのトリガーボタン状態を返す
・返値
トリガ―ボタン1/2をそれぞれ0/1ビット目とし、OFF(0)/ON(1)の値を返す
・機能
1:ジョイスティック1
2:ジョイスティック2
[戻る]
タイマ関数
表記省略形凡例使用例説明
TIME$ M25
TI$ S25
TI. M25TIME$
TIME$="hh:mm:ss"
TIME$
TIME$="12:34:56"
時刻文字列変数を取得する
時刻文字列変数を操作する
DATE$DATE$
DATE$="yy/mm/dd"
DATE$
DATE$="10/01/01"
日付文字列変数を取得する
日付文字列変数を操作する
DAY$DAY$
DAY$=曜日文字列
DAY$
DAY$="SUN"
曜日文字列変数を取得する
曜日文字列変数を操作する
SUN : 日曜日
MON : 月曜日
TUE : 火曜日
WED : 水曜日
THU : 木曜日
FRI : 金曜日
SAT : 土曜日
TIMETIME
TIME=秒数(0〜65535)
TIME
TIME=10000
タイムカウンタを返す
タイムカウンタの値を設定する
[戻る]
システム関数
表記省略形凡例使用例説明
CSRLIN M25
CSRH S25
CSR. M25
S25
CSRLINCSRLIN現在のカーソル行位置を返す
POS M25
CSRV S25
POS(番号)POS(0)現在のカーソル桁位置を返す
(番号はダミー、CSRVには番号はない)
POINTPOI.POINT({X,Y | モード})POINT(100,100)指定した座標のパレットコードを返す
・モード(M25のみ)
0 : 現在のX座標をワールド座標で返す
0 : 現在のY座標をワールド座標で返す
0 : 現在のX座標をスクリーン座標で返す
0 : 現在のY座標をスクリーン座標で返す
POSH S25POSH[(機能)]POSH(0)グラフィックポインタの横座標を返す
・機能
0 : ワールド座標を返す(省略時)
1 : スクリーン座標を返す
POSV S25POSV[(機能)]POSV(0)グラフィックポインタの縦座標を返す
・機能
0 : ワールド座標を返す(省略時)
1 : スクリーン座標を返す
MAPMAP(数式,モード)MAP(0,0)スクリーン座標とワールド座標の相互変換を行う
・モード
0 : 数式をワールド座標のX座標としてスクリーン座標のX座標に変換した値を返す
1 : 数式をワールド座標のY座標としてスクリーン座標のY座標に変換した値を返す
2 : 数式をスクリーン座標のX座標としてワールド座標のX座標に変換した値を返す
3 : 数式をスクリーン座標のY座標としてワールド座標のY座標に変換した値を返す
LPOSLPOS(番号)LPOS(0)プリンタのヘッド位置を返す
0 : 印字したすべての文字をカウントしたヘッド位置
1 : 印字した文字のうち、1バイト文字をカウントしたヘッド位置
2 : 印字した文字のうち、2バイト文字をカウントしたヘッド位置
ERLERLERLエラーの発生した行を返す
ERRERRERRエラー番号を返す
[戻る]
その他関数
表記省略形凡例使用例説明
FNFN関数名[(引数[[引数2[,...]]])]FNX(1)ユーザ定義関数を呼び出して返値を取得する
USRUSR番号(0〜9)(引数)USR1(TEST)マシン語サブルーチンを呼び出して返値を取得する
DTLDTLDTL直前にREADでデータを読み取った行番号を返す
FRE M25
SIZE S25
FRE(機能)FRE(0)使用可能なメモリサイズを返す
0 : フリーエリア
1 : プログラムエリア
2 : 数値、配列エリア
3 : 文字列エリア
4 : RAMディスク、プリンタスプーラ用エリア
CMTCMT(機能(0〜2))CMT(0)カセットテープの状態を返す
機能 カセットテープの状態 返値
0回転中-1
停止中0
1セットされている-1
セットされていない0
2ツメが折られていない-1
上書き禁止用のツメが折られてる0
MOUSEMOU.MOUSE(機能(0〜9)[,ボタン番号(1〜2)])MOUSE(0)マウスの各種情報を返す(MOUSE 0で要初期化)
MOUSE(0) : マウスのX座標
MOUSE(1) : マウスのY座標
MOUSE(2,ボタン番号) : 指定したボタンの状態
(0 : 押されていない/-1 : 押されている)
MOUSE(3,ボタン番号) : 指定したボタンが押された時点のX座標
MOUSE(4,ボタン番号) : 指定したボタンが押された時点のY座標
MOUSE(5,ボタン番号) : 指定したボタンが離された時点のX座標
MOUSE(6,ボタン番号) : 指定したボタンが離された時点のY座標
MOUSE(7) : 最後にこの関数が呼ばれてからのX方向の移動距離
MOUSE(8) : 最後にこの関数が呼ばれてからのY方向の移動距離
[戻る]

※ NEW ON
指定可能なレベルは0〜5で大きいほど確保されるメモリは増える
(削除されるオペランドが増える)

標準で実行される「autorun.m25/autorun.s25」ではNEW ON 2が実行される
NEW ON実行後は下位の番号を指定不可となるので、autorunの内容を書き換えて再起動する必要がある

レベル上位は下位の内容を全て含む

n 削除されるコマンド
0ALGO機能(電卓など)
1音声合成、マウス機能
VOICE,VOICE@,ON MOUSE GOSUB,MOUSE ON/OFF/STOP,MOUSE,MOUSE()
2辞書ROM使用による漢字変換機能
3カナ漢字変換、ターミナル機能
TERM
4グラフィック機能
CBLOCK,COLOR=,PRIORITY,VIEW,VIEW@,WINDOW,FILL S25,PEN
PSET M25,PRESET M25,SET S25,RESET S25,LINE,BLINE S25,CONNECT M25,CIRCLE,POLY,PAINT
PATTERN,SYMBOL,MOVE,ROLL,ROLL@,COLOR,REPLACE
MAP,POINT,POINT() M25,POSITION S25,POSH S25,POSV S25,GET@,PUT@,GSAVE,GLOAD
5プリンタ印字機能
LLIST M25,LIST/P S25,LLIST* M25LIST/P* S25,LSEARCH M25,SEARCH/P S25,LFILES M25,DIR/P S25
LTRON M25,TRON/P S25,LPRINT M25,PRINT/P S25,HCOPY,LPOS

[戻る]

※ 装置名一覧

装置名 指定される装置 I/Oタイプ
CRT[1]:
CRT2:
CRT3:
画面O
KB:キーボードI
LPT:プリンタO
CMT:カセットテープI/O
FD[1]:
FD2:
FD3:
FD4:
フロッピーディスクI/O
HD[1]:
HD2:
HD3:
HD4:
ハードディスクI/O
MEM:グラフィックメモリI/O
COM[1]:
COM2:
RS-232CI/O

[戻る]

※ モニタコマンド
*D (Dump)
D [StartAdr [EndAdr]]
メモリ内容を表示する
*M (Memory set)
M [StartAdr]
メモリ内容をセットする
[SHIFT]+[BREAK]で終了
*F (Find)
F StartAdr EndAdr Data1 Data2 ...
データの内容を一致した部分を表示する
*G (Gosub)
G CallAdr
指定したアドレスをサブルーチンコールする
*T (Transfer)
T StartAdr EndAdr TransAdr
指定したアドレスの範囲を転送する
*S (Save)
S StartAdr EndAdr ExecAdr:[Device]Filename
*R (Return)
R
モニタをコールした先に戻る
*MM (Memory Map)
MM
メモリブロックを表示する
*O (Output)
O Port Data
I/Oポートにデータを出力する
*I (Input)
I Port
I/Oポートからデータを読み込む
*P (Printer switch)
P
D/Fコマンドの出力先をプリンタ/CRTにトグルで変更する

[戻る]

※ ターミナルモード
TERM "COMn:制御文字列"[,モード]

・チャンネル指定(省略不可、「:」を付加する)
COMn(1〜2) : nを省略した場合は1と同等
2はマウス使用時指定不可
・ボーレート指定(数値で指定し、「,」を付加する)
75,150,300,600,1200,2400,4800,9600,19200
・パリティモード
N : 指定なし
O : 奇数
E : 偶数
・通信ビット長
7 : 7ビット
8 : 8ビット
・ストップビット数
1 : 1ビット
2 : 1.5ビット
3 : 2ビット
・通信制御
N : 制御なし
X : XON/XOFF制御
R : RS制御
・カナ制御
N : 制御なし
S : SO/SI制御
・DEL受信
D : 変換なし
N : DELコードをNULLに変換
B : DELコードをBSに変換
・CR送信
C : CRコードを復帰+改行として送信
L : CR+LFを復帰+改行として送信
・CR受信
C : CRコードを復帰+改行として受信
L : CR+LFを復帰+改行として受信
・全角文字制御
N : 全角文字をSHIFT-JISで送受信する
J : KI(&H1B+4B)/KO(&H1B+48)コードにより全角文字の送受信を行う
M : KI(&H1B+09)/KO(&H1B+01)コードにより全角文字の送受信を行う
P : KI(&H1B+24+40)/KO(&H1B+28+48)コードにより全角文字の送受信を行う
・ENDコード
データ転送の終了を意味するコードを&H00〜&H1Fのいずれかで指定
指定する文字は[CTRL]+[指定文字]で入力されるので、指定文字をそのまま記述する
(CTRL+DならDもしくはdとする)
省略した場合はENDコードの機能そのものがないものとする
・通信モード
F : 全二重
H : 半二重

パラメータを省略した場合は「9600,N83NNDLLN"」と同等
[SHIFT]+[BREAK]でBASICレベルに復帰する

[戻る]

※ PRINT書式
; : 式を続けて表示する(A;B) 例 1;2
1 2
, : 式をTABで区切って表示する(A,B) 例 1,2
1         2
・USINGの書式
! : 文字列の最初だけを表示する
例 "!";"TEST"
T
&(空白)& : &と空白の文字列分文字列を表示する(少ない場合は左詰め)
例 "[&    &]";"TEST"
[TEST  ]
# : 数値を桁数指定して出力する(少ない場合は右詰め)
例 "[#####]";100
[  100]
. : 小数点位置を指定する(冗長部分は0が出力される)
例 "[##.#####];3.1415!
[ 3.14150]
+ : 符号を出力する(負数の場合は負符号になる)
例 "[+####]";100
[+ 100]
- : 最後につけた場合、負符号を出力する
例 "[###-]";-10
[ 10-]
例 "[###-]";10
[ 10 ]
** : 先頭につけた場合、表示領域の空白を「*」で埋める
例 "[**####]";100
[***100]
\\ : 先頭につけた場合、数値の直前に「\」を出力する
例 "[\\####]";100
[   \100]
**\ : 先頭につけた場合、表示領域の空白を「*」で埋めて、数値の直前に「\」を出力する
例 "[**\####]";100
[****\100]
, : 桁数指定の「#」内につけた場合(「.」より左側)、3桁毎に「,」を出力する
例 "[#,#####]";1000
[  1,000]
_ : 書式指定文字をそのまま出力する
例 "[_+####]";1000
[+1000]

[戻る]

※ COLOR(CCOLOR)

色指定の初期値と範囲
設定テキストバック
グラウンド
ボーダーフォア
グラウンド
テキスト8色
グラフィック16(4)色
0〜7
初期値:7
0〜15(3)
初期値:0
0〜15
初期値:0
0〜15(3)
初期値:15(3)
テキスト64色
グラフィック256色
0〜&O777
初期値:&O666
0〜&O777
初期値:0
0〜&O777
初期値:0
0〜&O777
初期値:&O777

テキスト8色の指定
0 : Black
1 : Blue
2 : Red
3 : Purple
4 : Green
5 : Cyan
6 : Yellow
7 : White

テキスト256色の場合はG,R,B各要素を8進数(&Oxxx、0〜512)で表記する

グラフィック4色の指定
0〜3 : 8色指定時と同じ
グラフィック16色の指定(16色パレットコード)
0〜7 : 8色指定時と同じ
8 : Gray
9 : Blight Blue
10 : Blight Red
11 : Blight Purple
12 : Blight Green
13 : Blight Cyan
14 : Blight Yellow
15 : Blight White

[戻る]

※ OPTION SCREEN
メモリブロックの表記
G : グラフィック
M : メモリ

各メモリブロックは32KBで、3〜4は増設VRAMとなる
メモリディスクやスプーラが設定されている場合はエラーとなる

 メモリブロック320x200640x200640x400
モード12341625616416
1GGGGOOOOO
2GGMMOOOOX
3GMMMOXXXX
4MMMMXXXXX

[戻る]

※ INIT "CRT1:"

半角文字の表示可否
対応ディスプレイ行数8x8
(0)
8x16
(1)
400ラスタ12XO
20/25OO
200ラスタ12XO
20/25OX

スクロール方法
グラフィック
表示色数
文字表示色数桁数ライン
(0)
スムース
(1)
4/16880OO
40OX
256> 6440OO

[戻る]

※ INIT "CRT2:"

横ドット数縦ドット数表示色数備考
32020016
256文字40桁64色
640 16
4004400ラスタ対応ディスプレイが必要<
16増設VRAMと400ラスタ対応ディスプレイが必要

[戻る]

※ CBLOCK

番号色信号GRB
レベル 4   2   1 4   2   1 4   2   1
0G1 G0 I1R1 R0 I0B1 B0  0
1G1 G0 I1R1 R0  0B1 B0 I0
2G1 G0  0R1 R0 I1B1 B0 I0

[戻る]

※ SCREEN

表示モードによる画面設定
表示色画面数プレーン数重ね合わせ
文字4012/20/2582O
641X
80 81X
グラフィック320200162(4)40,1 or 2,3
2561(2)8X
640 161(2)4X
400412X
16(1)4X

プレーンの指定は16色と256色で異なる
16色の場合はI,R,G,Bの各要素を4ビットで示す
256色の場合はI1,G1,R1,B1,I0,G0,R0,B0の各要素を8ビットで示す

[戻る]

※ DEF CHR$
テキスト8色指定時はPCG1〜3がそれぞれB,R,Gの要素となる
64色指定時は&H00〜&HFFを指定した場合は+&H100とした部分を組み合わせる
&H100〜&H1FFを指定した場合は-&H100とした部分を組み合わせる

コードPCG指定定義先PCG定義文字列
サイズ
&H00〜&HFF
8x8
1〜324バイト
0 0 8バイト
1 1 8バイト
2 2 8バイト
3 3 8バイト
&H100〜&H1FE(偶数値)
8x16
1〜348バイト
0 0 16バイト
1 1 16バイト
2 2 16バイト
3 3 16バイト
&HEC9F〜&HECFC
&HED40〜&HED7E
&HED80〜&HEDA2
16x16(外字)
1〜332バイト

[戻る]

※ LINE
・カラーコード
COLORを参照
・モード
PSET   : 線を引く
PRESET : 線を消す
XOR    : 重なった部分の色を消す
AND    : 重なった部分の色と指定した色の論理積を取る
OR     : 重なった部分の色と指定した色の論理和を取る

・ボックス指定
B  : Box(長方形)を描画する)
BF : Box Fill(長方形を描画し、中を指定されたタイリングパターンで塗りつぶす)
→BFを設定した場合はカラーコードかタイリングパターンを示す文字変数を定義する

・ラインスタイル
&H0000〜&HFFFFで指定されたパターンで線を描画する

凡例
16進数 パターンの例
&HFFFF――――――――
&HFF00――  ――  
&HAAAA- - - - - - - -
&H0000        

[戻る]

※ CMT
(時間[0.1s単位、1〜65535)

・CMT=0 : EJECT
・CMT=1 : STOP
・CMT=2[,時間] : PLAY
・CMT=3[,時間] : FF
・CMT=4[,時間] : REW
・CMT=5 : APSS 1と同等
・CMT=6 : APSS -1と同等
・CMT=7 : 現在位置のデジタル側に頭出し信号を録音
・CMT=8[,時間] : アナログ/デジタルの録音
・CMT=9[,時間] : アナログの録音(REC+PLAY)
・CMT=10[,時間] : デジタルの録音
・CMT=11,再生時間[,早送り時間] : 再生時間分再生し、早送りをする(早送り時間省略時は早送り状態のまま)
・CMT=12,再生時間[,巻戻し時間] : 再生時間分再生し、巻戻しをする(巻戻し時間省略時は巻戻し状態のまま)
・CMT=13,再生時間[,録音時間] : 再生時間分再生し、録音をする(録音時間省略時は録音状態のまま)
・CMT=14,早送り時間[,再生時間] : 早送り時間分早送りし、再生をする(再生時間省略時は再生状態のまま)
・CMT=15,早送り時間[,録音時間] : 早送り時間分早送りし、録音をする(録音時間省略時は録音状態のまま)
・CMT=16,巻戻し時間[,再生時間] : 巻戻し時間分巻戻しし、再生をする(再生時間省略時は再生状態のまま)
・CMT=17,巻戻し時間[,録音時間] : 巻戻し時間分巻戻しし、録音をする(録音時間省略時は録音状態のまま)

[戻る]

※ MOUSE
MOUSE 0 : マウス機能を初期化
MOUSE 1,X,Y,カーソルスイッチ : マウスカーソルを移動
(X : 横初期座標(-32768〜65535))
(Y : 縦初期座標(-32768〜65535))
(カーソルスイッチ : 0(OFF)/1(ON))
MOUSE 2,X,Y,カーソル形状 : マウスの指示点と形状を設定
(X : 横指示点(0〜15)) マウスカーソルのパターン(16x16)の左側から
(Y : 縦指示点(0〜15)) マウスカーソルのパターン(16x16)の上側から
(カーソル形状 : 16x16のドットパターンを表す文字列)
MOUSE 3,方向,比率 : マウスの移動比率を設定
(方向 : 0(横)/1(縦))
(比率 : 1〜255)
MOUSE 4,X1,Y1,X2,Y2 : マウスの移動範囲を設定
(X : 横座標(-32768〜65535))
(Y : 縦座標(-32768〜65535))
MOUSE 5,カラー : マウスカーソルのカラーを設定
(カラー : 0(青)/1(赤)/2(緑))
MOUSE 6 : マウス処理を終了(COM2:を開放)

[戻る]

※ MML構文(PLAY/MUSIC)
音源LSIがOPNであるため、パート1〜3はFM音源、4〜6はSSG

C,D,E,F,G,A,B : 音階(音長[1〜32]を指定可能)
#/+ : 半音上げる
-   : 半音下げる
> : オクターブを1つ上げる
< : オクターブを1つ下げる
. : 付点(音長を1.5倍する)
Rn : 休符(n=1〜32)
Nn : 音階指定(O1Cを0とし、O8Bが95となる)
Qn : 音の出力時間比率指定(n=1〜8 : 初期値8)
& : 前後の音階をつなぐ(タイ)
{...}n : 連符指定(n=1〜32)、音長を{}内の音符数で割る
Ln : 音長指定(n=1〜32 : 初期値4)
Vn : 音量指定(n=0〜15 : 初期値12)
On : オクターブ指定(n=1〜8 : 初期値4)
Tn : テンポ指定(n=32〜255 : 初期値120)
Sn : SSGのエンベロープ形状指定(n=0〜15)
Mn : SSGのエンベロープ周期指定(n=1〜16383 : 初期値255)
(以下OPN専用)
Yr,d : OPNのレジスタr(0〜180)にデータd(0〜255)を設定
@n : 音色指定(n=0〜29 : 初期値0)
@Vn : 音量指定(n=0〜127 : 初期値100)
@Wn : 音長(n=1〜32)の分、状態を維持
@Mn : ch3のモード設定(n=0〜2 : 初期値0)
0 : 通常
1 : CSM(正弦波合成)
2 : 効果音

「n」による指定は「=変数名;」とすることでMML外で定義した変数を使用可能

OPN音色
番号音色名楽器名
0HARPSICハープシコード
1BRASS 1ブラス1
2BRASS 2ブラス2
3TRUMPETトランペット
4STRING 1ストリング1
5STRING 2ストリング2
6EPIANO 1電子ピアノ1
7EPIANO 2電子ピアノ2
8EPIANO 3電子ピアノ3
9GUITARギター
10EBASS 1電子ベース1
11EBASS 2電子ベース2
12EORGAN 1電子オルガン1
13EORGAN 2電子オルガン2td>
14PORGAN 1パイプオルガン1
15PORGAN 2パイプオルガン2
16FLUTEフルート
17PICCOLOピッコロ
18OBOEオーボエ
19CLARINETクラリネット
20GROCKENグロッケン
21VIBRPHNビブラフォン
22XYLOPHNシロフォン
23KOTO
24ZITARチター
25CLAVクラビネット
26BELLベル
27HARPハープ
28HARMONICAハーモニカ
29TIMPANIティンパニ

[戻る]

※ TONE

n0,n1,n〜4,n
0Feedback/AlgorithmAttack Rate
1Operator MaskDecay Rate
2Wave FormSustain Rate
3SyncRelease Rate
4SpeedSustain Level
5Pitch Mod. DepthOutput Level
6Amp. Mod. DepthK/B Rate Scaling Depth
7Multiple
8Detune
9Amp. Mod. Sens.

[戻る]

※ VOICE(MZ-1X08)
スピード : 1〜3
1 : 遅い
2 : 標準(デフォルト)
3 : 速い

数値読みパラメータ : 1〜2
1 : 棒読み
2 : 桁読み

発声文字列は英数、カナ、記号[+-*/=.]が使用可能
英字はローマ字読みとなる。

固有メッセージは以下の通り

0まちがいです
1せいかいです
2もう1かいチャレンジしますか
4よくできました
5(笑い声)
6ゲームスタート
7ゲームオーバー
8アウト
9ゴー
10めいちゅう
11おすきなキーをおしてください
12ワイ(Y)かエヌ(N)のキーをおしてください
13さいこうとくてん
14ボーナスてん
15あなたのばんです
16わたしのかちです
17ぶんぽうじょうのあやまりです
19てん
20たす
21ひく
22イテテ
23イテッ
24(@25+@26+@27)
25(車の発車音)
26(車の走行音)
27(車の停車音)
28(メロディ:葬送行進曲)
29(メロディ:デキシーランド)
30(メロディ:蛍の光)
31(メロディ:おおスザンナ)
32(メロディ:故郷の人々)
33(メロディ:村の鍛冶屋)

[戻る]

※ 定数型・変数型
整数型(A%) : -32768〜+32767
単精度(A!) : ±2.9387359E-39〜±1.7014118E+38
倍精度(A#) : ±2.938735877055719D-39〜±1.701411834604692D+38

A$ : 文字列型(A$="TEST")
A% : 整数型
A! : 単精度実数型(A!=-7.01E-06、A!=3.14!)
A# : 倍精度実数型(A#=1.03234D43、A#=12345.6#)
&B : 2進数形式(&00011000)
&O : 8進数形式(&O777、&127)
&H : 16進数形式(&hFFFF)

[戻る]

※ 演算子
+   : 加算・結合(A+B、A$+B$)
-   : 減算(A-B)
*   : 乗算(A*B)
/   : 除算(A/B)
\   : 整数除算(A\B)
MOD : 整数の剰余(A MOD B)
^   : べき算(A^B)
=   : 等号・代入(A=3、A=B+C)
> < : 不等号・比較(A>3、A<=2)
NOT : 否定(NOT 2)
AND : 論理積(2 AND 1)
OR  : 論理和(2 OR 1)
XOR : 排他的論理和(2 XOR 1)
IMP : 包含(1 IMP 0)→ORの否定
EQV : 同値(1 EQV 0)→XORの否定

[戻る]

※エラーメッセージ一覧

エラーメッセージ一覧
番号表記意味
Unprintable error未定義エラー
1syntaxコマンド、またはステートメントの書き方が間違っている
2overflow値が許容範囲を超えた
3dataデータが異常
4type mismatch変数または定数の型が合わない
5string length文字定数または文字変数が256文字を超えた、またはデータ長が異常
6no memoryメモリが不足している
7w-def. FNユーザ関数が二重宣言された
8line length1行の長さが制限を超えた
9unprintable未定義エラー
10IF-ENDIF mismatchIFとENDIFが対応していない
11FOR-NEXT mismatchFORとNEXTが対応していない
12WHILE-WEND mismatchWHILEとWENDが対応していない
13REPEAT-UNTIL mismatchREPEATとUNTILが対応していない
14GOSUB-RETRUN mismatchGOSUBとRETRUNが対応していない
15undef. array/FN未定義の配列、またはユーザ関数を指定した
16undef. line未使用の行番号、またはラベルを指定した
17can't CONTCONTによるプログラムの再開ができない
18memory protectionアドレスが範囲外となるOBJファイルを読み込もうとした
19instruction使用できない命令を使用した
20sequence読み込もうとしたプログラムの書式が異常
21RESUMEエラー処理でないのにRESUMEが使用された
22count関数の引数や入力変数の個数が異常
23subscript配列の添字が異常
24READ-DATA mismatchREADとDATAが対応していない
25SWAP nestingSWAPレベルが1を超えた S25
26too complex文字式が複雑すぎる
27too many nestingネスティングが制限を超えた
28system idBASIC以外のディスクを使用した
29subscriptRS-232Cフレーミングエラー
30subscriptRS-232Cオーバーランエラー
31subscriptRS-232Cパリティエラー
40not found指定したファイルが存在しない
41hardware装置エラー
42already exists指定したファイルは既に存在している
43already open指定したファイルが既にOPENされている
44not openOPENされてないファイルを指定した
45not empty削除しようとしたディレクトリにファイルが存在している
46write proctectファイルへの書き込みが保護されている
47fieldFIELDエラー
48open mode異なったモードのファイルをOPENしようとした
50not ready装置の準備ができていない
51too many filesファイルの数が制限を超えた
52disk mismatchディスクの内容が異常
53no file spaceファイルを作成するスペースがない
54unformatディスクがフォーマットされていない
55file lengthファイルの長さが制限を超えた
58device name装置名が異常
59can't execute装置に使用できないファイル形式を指定した、または実行できない命令、モードを指定した
60file nameファイル名が異常
61file modeファイル形式が異常
63file endファイルの終端に達している
64logical numberファイル番号が異常
65LPT: not readyプリンタが準備できていない
68device mode装置のモードが異常
70check sumカセットテープのチェックサムが異常

[戻る]

[TOPに戻る]