戻る
1Z-007B/MZ-5Z001/MZ-5Z009 (S-BASIC)
mz700/1500/800 : シャープ (SHARP)

1Z-007B MZ-5Z001 MZ-5Z009

1Z-007Bはmz700用、MZ-5Z001はmz1500用SHARP製BASICである。
MZ-5Z001はQDであるのとグラフィックが強化されているため、1Z-007Bから若干拡張されている。
mz1500の海外版mz800のMZ-5Z009はmz800がmz1500と画面スペックが異なるため、一部命令に違いがある。

ここでは1Z-007BとMZ-5Z001及び5Z009を取り扱うこととする。
mz700用海外向けである1Z-013Bでもそれほど変わらないので1Z-007Bを参照のこと。

S-BASICでは全ての予約語は大文字しか受け付けないことに注意。
mz700はそもそも小文字ないけど…

省略形は文字数が同じなもの(RESET→RESE.など)は記載していない。

1Z-007B/MZ-5Z001/MZ-5Z009 簡易リファレンス
コマンド
表記省略形凡例使用例説明
AUTOA.AUTO [行番号][,増分]AUTO 100,5先頭に自動的に行番号を発生させる(増分を省略した場合は10)
DELETED.DELETE 行番号[-[行番号2]]DELETE 100
DELETE 100-200
指定した行番号を削除する
指定した範囲の行番号を削除する
LISTL.LIST [/P] [行番号][-[行番号2]]LIST
LIST 100-200
メモリ上のプログラムを表示[印字]する
指定した範囲の行番号を表示[印字]する
EDITE.EDIT [行番号]EDIT
EDIT 10
最後に編集したプログラムを編集する
指定した行番号を編集する
SEARCH (MZ-5Z00x)SE.SEARCH [/P] 文字列SEARCH "ABC"メモリ上のプログラムから指定した文字列を検索して表示[印字]する
RENUMREN.RENUM [新行番号][,[旧行番号],[増分]]RENUM 1000,10,100新行番号を先頭に行番号をつけ直す
NEWNEWNEWプログラムを全て消去し、変数を初期化する
NEW ON (MZ-5Z001)NEW ON {1 | 2}NEW ON 1BASICプログラム領域を拡張する
1:MZ-1M08(ボイスボード)関連命令(VOICE)を削除する
2:MZ-1P09(プロッタプリンタ)関連命令を削除する
NEW ON (MZ-5Z009)NEW ONNEW ONBASICプログラム領域を拡張する
CONTC.CONTCONTSTOPやBREAKキーで終了したプログラムの実行を再開する
RUNR.RUN [行番号]RUN 100指定した行番号からプログラムを実行する(行番号を省略した場合は先頭から実行する)
RUN (MZ-5Z00x)R.RUN "[デバイス名:]ファイル名"[,{A | R}]RUN "AUTO RUN"デバイスからファイルをロードして実行する(「,A」でASCIIコード、「,R」でOBJコード)
WAIT (MZ-5Z00x)W.WAIT [時間]WAIT 100指定した時間(単位:ms)待つ
SAVESA.SAVE "[デバイス名:]ファイル名"[,A]SAVE "TEST"デバイスにプログラムを保存する
ASCIIコードで保存 (MZ-5Z00x)
SAVE ALL (MZ-5Z001)SA. ALLSAVE ALLSAVE ALLRAMファイルを全てQDに保存する
LOADLO.LOAD ["[デバイス名:]ファイル名"][,A]LOAD "TEST"デバイスからプログラムを読み込む(「CMT:」指定時ファイル名を省略した場合は最初に見つかったプログラムを読み込む)
ASCIIコードで読込 (MZ-5Z00x)
LOAD ALL (MZ-5Z001)LO. ALLLOAD ALLLOAD ALLRAMファイルに全てのQDファイルを読み込む
VERIFYV.VERIFY ["[デバイス名:]ファイル名"]VERIFY "CMT:TEST"カセットテープのプログラムを照合する(ファイル名を省略した場合は最初に見つかったプログラムを照合する)
CMT以外では実行不可
MERGEME.MERGE ["[デバイス名:]ファイル名"]MERGE "TEST"現在のプログラムとファイル上のプログラムをマージする
DELETE (MZ-5Z00x)D.DELETE "[デバイス名:]ファイル名"DELETE "RAM:TEST"ファイルを削除する
CMT/QDでは使用不可
RENAME (MZ-5Z00x)RENA.RENAME "[デバイス名:]旧ファイル名","[デバイス名:]新ファイル名"RENAME "RAM:TEST","RAM:TEST2"ファイル名を変更する
CMT/QDでは使用不可
CHAIN (MZ-5Z00x)D.CHAIN "[デバイス名:]ファイル名"CHAIN "RAM:TEST"メディア上にあるプログラムに変数を渡して実行する
BYEB.BYEBYEモニタに制御を移す
BOOTBOOTBOOTIPLに戻る
KEY LISTK. L.KEY LISTKEY LISTファンクションキーの定義内容を表示する
DEF KEYDEF KEY(キー番号)=定義式DEF KEY(1)="RUN"ファンクションキーを定義する(キー番号:1〜10)
DIR (MZ-5Z00x)DIR [/P][デバイス名]DIRデバイス 上にあるファイル一覧を表示[印字]する
INIT (MZ-5Z00x)INITINIT "デバイス名:"デバイスを初期化する
DEFAULTDEF.DEFAULTDEFAULT "デバイス名:"使用するデバイスを指定する
[戻る]
ステートメント:プログラム制御
表記省略形凡例使用例説明
ENDE.ENDENDプログラムを終了する
STOPS.STOPSTOPプログラムを一時停止する
REM'REM [注釈]REM TEST注釈を入れる(実行には無関係)
FOR...TO...STEP〜NEXTF.〜N.FOR 変数=開始値 TO 終了値 [STEP 増分]〜NEXT [変数1][,変数2][,...]FOR I=0 TO 10 STEP 2〜NEXT IFORからNEXTまでの処理を繰り返す
LABEL (MZ-5Z00x)LA.LABEL 文字列式LABEL "TEST"ラベルを定義する(GOTO/GOSUBで指定可能)
GOSUBGOS.GOSUB 飛び先GOSUB 1000サブルーチンを呼び出す
RETURNRET.RETURN [行番号]RETURNサブルーチンから復帰する(行番号指定可能)
GOTOG.GOTO 飛び先GOTO 1000指定した飛び先から実行する
IF...THENIF〜TH.IF 論理式 THEN {文 | 飛び先}IF A=0 THEN 10論理式の条件判断をする
IF...THEN....:ELSE (MZ-5Z00x)IF〜TH.〜:EL.IF 論理式 THEN {文 | 飛び先} :ELSE {文 | 飛び先}IF A=0 THEN 10 ELSE 20論理式の条件判断をする
IF...GOTOIF〜G.IF 論理式 GOTO 飛び先IF A=0 GOTO 10論理式の条件判断をする
IF...GOSUBIF〜GOS.IF 論理式 GOSUB 飛び先IF A=0 GOSUB 10論理式の条件判断をする
ON...GOTOON〜G.ON 式 GOTO 飛び先1[,飛び先2][,...]ON A GOTO 100,200式の値に応じて指定された飛び先へ分岐する
ON...GOSUBON〜GOS.ON 式 GOSUB 飛び先1[,飛び先2][,...]ON A GOSUB 100,200式の値に応じて指定された飛び先のサブルーチンを呼び出す
TRON (MZ-5Z00x)TR.TRON [/P]TRONトレースモードにする(「/P」を付けた場合はプリンタに出力)
TROFF (MZ-5Z00x)TROF.TROFFTROFFトレースモードから戻る
[戻る]
ステートメント:変数関連
表記省略形凡例使用例説明
INPUTI.INPUT [文字列{; | , }]変数[,変数2][,...]INPUT "X=";Xキーボードから入力した値を変数に代入する
GETGET 変数GET A$変数に現在押されているキーを代入する
数値変数を指定した場合は数字キーのみを受け付ける
LETLET 変数=式LET A=1変数に値を代入する(LETは省略できる)
DATADA.DATA 定数[,定数][,...]DATA "TEST",765READで読み込むデータを定義する
READREAD 変数[,変数][,...]READ A$,BDATAで定義したデータを変数に代入する
RESTORERES.RESTORE [行番号]RESTORE 1000READで読み込むDATAの先頭行を設定する
DEF FNDEF FN関数名(パラメータ[,パラメータ2[,...]])=定義式DEF FNA(X,A,B)=X^2+AX+Bユーザ定義関数を定義する(関数名:A〜Zの1文字)
DIMDIM 変数名(最大値1[,最大値2][,...])[,...]DIM A(100,10),B$(100)配列変数の定義をする
CLRCLRCLR変数や配列を初期化する(FOR〜NEXT内やサブルーチンでは使用不可)
[戻る]
ステートメント:データ関連
表記省略形凡例使用例説明
WOPENWO.
W. (1Z-007x)
WOPEN ["[デバイス名:]ファイル名"]WOPEN "TEST"ファイルを書込モードでオープンする
PRINT /T? /TPRINT /T [式[{, | ;}式2[,...]]]PRINT /T A$ファイルに書き込む
ROPENRO.ROPEN ["[デバイス名:]ファイル名"]ROPEN "TEST"ファイルを読込モードでオープンする
INPUT /TI. /TINPUT /T 変数INPUT /T A$ファイルから読み込む
CLOSECLO.CLOSECLOSEファイルをクローズする
WOPEN# (MZ-5Z00x)WO.#
W.# (1Z-007x)
WOPEN#n,["[デバイス名:]ファイル名"]WOPEN#1,"TEST"デバイスを書込モードでオープンする(n=1〜127)
PRINT# (MZ-5Z00x)?#PRINT#n,式PRINT#1,A$デバイスに書き込む
KILL# (MZ-5Z00x)KI.#KILL[#n]KILL#1デバイスへの書き込みを中止し、デバイスを解放する(#nを省略した場合はOPENした全デバイス)
ROPEN# (MZ-5Z00x)RO.#ROPEN#n,["[デバイス名:]ファイル名"]ROPEN#1,"TEST"デバイスを読込モードでオープンする
INPUT# (MZ-5Z00x)I.#INPUT#n,変数INPUT#1,A$デバイスから読み込む
CLOSE# (MZ-5Z00x)CLO.#CLOSE#[n]CLOSE#1デバイスをクローズする(nを省略した場合はOPENした全デバイス)
[戻る]
ステートメント:マシン語関連
表記省略形凡例使用例説明
LIMITLIM.LIMIT アドレス($0000〜$FEFF)LIMIT $AFFF指定したアドレス+1以降をユーザ領域(マシン語プログラムを置くエリア)に指定する
LIMIT (MZ-5Z00x)LIM.LIMIT MAXLIMIT MAX確保可能な最大領域をユーザ領域に指定する
USRU.USR(アドレス[,[入力文字列]][,出力文字列])USR(A)指定したアドレスのマシン語を実行する
POKEPO.POKE アドレス,数式[,...]POKE $A000,$C9指定したアドレスに値を書き込む
POKE@PO.@POKE@ アドレス,数式[,...]POKE@ $D000,$C9指定したアドレスに値を書き込む
$D000以降はVRAMなどのシステム領域となるため、$D000以降のユーザ領域ではこちらを使用
[戻る]
ステートメント:I/O関連
表記省略形凡例使用例説明
INP (1Z-007x)INP #ポート(0〜239),数値変数INP #0,A指定ポートから数値を受信する
OUT (1Z-007x)OUT #ポート(0〜239),数式OUT 0,255指定ポートに数値を送信する
INP@ (MZ-5Z00x)INP@ ポート(0〜239),数値変数INP@ 0,A指定ポートから数値を受信する
OUT@ (MZ-5Z00x)OUT@ ポート(0〜239),数式OUT@ 128,128指定ポートに数値を送信する
[戻る]
ステートメント:エラー関連
表記省略形凡例使用例説明
ON ERROR GOTOON ERR. G.ON ERROR GOTO 飛び先ON ERROR GOTO 1000エラー発生時に指定した飛び先に移動する(エラー割込)
RESUMERESU.RESUME [{NEXT | 飛び先 | 0}]RESUME
RESUME NEXT
RESUME 1000
RESUME 0
エラー発生行に戻る
エラー発生行の次に戻る
指定した飛び先に戻る
メインの最初に戻る
[戻る]
ステートメント:画面関連
表記省略形凡例使用例説明
CLSCLSCLS画面を消去する
CLS (MZ-5Z00x)CLS nCLS 1指定した画面を消去する
1:画面1(テキスト:n指定なし時も同様)
2:画面2(グラフィック/PCG)
3:両方
PRTY (MZ-5Z001)PRTY [優先画面(1〜2)]PRTY 2画面の優先順位を指定する
1:画面1を優先(デフォルト)
2:画面2を優先
CONSOLECONS.CONSOLE [スクロール開始行][,[スクロール終了行]][,スクロール開始桁,スクロール終了桁]CONSOLE 0,20テキスト画面を設定する
1Z-007xでは桁は指定不可
CURSORCU.CURSOR X,YCURSOR 10,10表示位置を指定する
テキスト : X(0〜37),Y(0〜24)
グラフィック : X(0〜255),Y(0〜192)
PRINT?PRINT[[パレットコード][,バッググラウンドパレットコード]] [式[{, | ;}[式2[,...]]]]PRINT[7] "HELLO,WORLD"画面上に表示する
1Z-007xではパレットコードはカラーコード
PRINT USING? USI.PRINT[[パレットコード][,バッググラウンドパレットコード]] USING 書式;データPRINT USING "#####";T画面上に書式で定義したものを表示する
COLOR (1Z-007x)COL.COLOR [X],[Y],[カラーコード][,バックグラウンドカラーコード]COLOR 0,0,7,0[座標の]文字色を指定する
COLOR (MZ-5Z00x)COL.COLOR パレットコード[,オーバーレイモード(0〜1)]COLOR 7,0グラフィック色を指定する
CCOLOR (MZ-5Z00x)CCOL.CCOLOR [X],[Y],[パレットコード][,バックグラウンドパレットコード]CCOLOR 0,0,7,0[座標の]文字色を指定する
PAL (MZ-5Z001)PAL [パレットコード0][,...][,パレットコード7]PAL
PAL ,2,7
パレット(0〜7)に対応するカラーコードを指定する
全省略時は「0,1,2,3,4,5,6,7」を指定したことになる
PAL (MZ-5Z009)PAL パレットコード[,カラーコード]PAL 5,7パレットコードを指定する
KPATTERN (MZ-5Z001)KP.KPATTERN [[パレットコード[,オーバーレイモード]],漢字コード(4byte)[,...]KPATTERN[7,0]CHR$($12,$34)漢字を描画する(MZ-1R23)
FPRINT (MZ-5Z001)FP.FPRINT {[X,Y]CG/PCGコード[,...] | 0}FPRINT 0,10,10
FPRINT 0
画面2にFONT$で指定したCG/PCGを描画する
キャラクタを消去する
LINE (MZ-5Z00x)LINE [[パレットコード[,オーバーレイモード]] X1,Y1,X2,Y2[,...,Xn,Yn]LINE[7,0]0,0,100,100直線を描画する
BLINE (MZ-5Z00x)BLI.BLINE [[パレットコード[,オーバーレイモード]] X1,Y1,X2,Y2[,...,Xn,Yn]BLINE 0,0,100,100直線を消去する
BOX (MZ-5Z00x)BOX [[パレットコード[,オーバーレイモード]] X1,Y1,X2,Y2[,塗りつぶし指定パレットコード]BOX 0,0,100,100,7四角形を描画する
CIRCLE (MZ-5Z00x)CI.CIRCLE [[パレットコード[,オーバーレイモード]] X,Y,半径(0〜16383)[,[比率][,始点,終点][,0]]CIRCLE[2]160,50,50円を描画する
比率は1で真円、0〜1以下で横長の楕円、1以上〜65535で縦長
始点、終点はラジアン角指定
「0」を付けると中心点から始点・終点に線分を描写(扇)
PAINT (MZ-5Z00x)PAI.PAINT [[パレットコード]] X,Y,境界色[,境界色2]...[,境界色7]PAINT[7]0,0,2直線を描画する
PATTERN (MZ-5Z00x)PAT.PATTERN [[パレットコード[,オーバーレイモード]] 縦方向ドット数,文字列式PATTERN[7,0]1,"A"グラフィック画面に指定のドットパターンを表示する
(パターンは8ドットを16進数で表したものであり、CHR$もしくは文字列式で定義する)
POSITIONPOS.POSITION X,YPOSITION 10,10PATTERNの表示位置を指定する
SYMBOL (MZ-5Z009)SY.SYMBOL [[パレットコード[,オーバーレイモード]] X,Y,文字列式,横倍率,縦倍率[,角度]SYMBOL[7,0]10,10,"A",2,2文字列を拡大表示する
角度:
0: 0°
1: 90°
2:180°
3:270°
SET (1Z-007x)SET X,Y[,カラーコード]SET 10,10指定した座標にキャラクタドットを表示する(X=0〜79,Y=0〜49)
RESET (1Z-007x)RESET X,YRESET 10,10指定した座標のキャラクタドットを消去する
SET (MZ-5Z00x)SET[[パレットコード[,オーバーレイモード]]X,YSET[7]100,100指定した座標に[パレットコードの色で]ドットを表示する(X=-16384〜16383,Y=-16384〜16383)
RESET (MZ-5Z00x)RESET[[パレットコード[,オーバーレイモード]]X,YRESET 100,100指定した座標のドットを消去する
CSET (MZ-5Z00x)CS.CSET X,Y[,パレットコード]CSET 10,10指定した座標に[パレットコードの色で]簡易グラフィックドットを表示する(X=0〜255,Y=0〜255)
CRESET (MZ-5Z00x)CR.CRESET X,Y[,パレットコード]CRESET 10,10指定した座標の簡易グラフィックドットを消去する
[戻る]
ステートメント:サウンド関連
表記省略形凡例使用例説明
TEMPOTE.TEMPO 数値(1〜7)TEMPO 4MUSICのテンポを定義する(7以上を指定してもエラーにはならないが7と変わらない)
MUSICMU.MUSIC [文字列]MUSIC M$MMLで指定した音楽を演奏する
MUSIC (MZ-5Z00x)MU.MUSIC {INIT | STOP | WAIT}MUSIC INIT
MUSIC STOP
MUSIC WAIT
MMLの各種指定を初期化する(O2V15L5T4S8M255)
演奏を停止する
演奏の終了を待つ
SOUND (MZ-5Z00x)SO.SOUND 音階,音長SOUND 24,10指定した音階(9[O0A]〜83[O6B])を音長(0〜65535:約100ms単位)分演奏する
SOUND= (MZ-5Z00x)SO.=SOUND=(レジスタ番号,データ)SOUND=(0,1)サウンドLSIに直接データを渡す(レジスタ番号:0〜7,8〜15:MZ-5Z001)
NOISE (MZ-5Z00x)NO.NOISE [文字列]NOISE N$MMLで指定したノイズを出力する(MZ-5Z001は2和音まで)
BEEPBE.BEEPBEEPBEEP音を鳴らす
[戻る]
ステートメント:ボイスボード(MZ-1M08)関連
表記省略形凡例使用例説明
VOICE (MZ-5Z00x)VO.VOICE [{[スピードコード,数値読みパラメータ]発声文字列1[,...]] | @固有メッセージ番号}VOICE V$
VOICE @1
音声合成を発声させる
ROM内蔵の固有メッセージを発声させる
[戻る]
ステートメント:プロッタプリンタ関連
表記省略形凡例使用例説明
TEST (1Z-007x)TE.TESTTESTプロッタプリンタのテストを実行する
PTEST (MZ-5Z00x)PTE.PTESTPTESTプロッタプリンタのテストを実行する
MODE (1Z-007x)M.MODE モードMODE TNプロッタプリンタのモードを指定する
モード:
TN:テキストモード(1行40文字)
TL:テキストモード(1行26文字)
TS:テキストモード(1行80文字)
GR:グラフィックモード
PMODE (MZ-5Z00x)PM.PMODE モードPMODE TNプロッタプリンタのモードを指定する
PCOLORPC.PCOLOR カラーPCOLOR 0プロッタプリンタのカラーを指定する
カラー:
0:Black
1:Blue
2:Green
3:Red
SKIP (1Z-007x)SKIP フィード幅(-20〜20)SKIP 1プロッタプリンタの用紙をフィードする
PSKIP (MZ-5Z00x)PS.PSKIP フィード幅(-20〜20)PSKIP 1プロッタプリンタの用紙をフィードする
PAGEPA.PAGE ページ幅(1〜72)PAGE 40プロッタプリンタのページ幅を指定する
PRINT [USING] /P? /PPRINT /P 文字列式PRINT /P A$プロッタプリンタに印字する(書式はPRINTと同じ)
PLOTPL.PLOT {ON | OFF}PLOT ON出力先をプロッタプリンタに{する | しない}
HCOPY (MZ-5Z00x)HC.HCOPY [1〜3]HCOPY画面内容を印字する
1:画面1(デフォルト)
2:画面2
3:両方(プロッタプリンタでは使用不可)
(以下「GR」モード時)
LINE (1Z-007x)LINE [%数値(1〜16),]X1,Y1[,X2,Y2][,...]LINE %1,0,0,100,100プロッタプリンタで直線を描画する
X=-480〜480,Y=-999〜999

%数値=1:直線
%数値=2〜16:ドット
PLINE (MZ-5Z00x)PLI.PLINE [%数値(1〜16),]X1,Y1[,X2,Y2][,...]PLINE %1,0,0,100,100プロッタプリンタで直線を描画する
RLINERLI.RLINE [%数値(1〜16),]X1,Y1[,X2,Y2][,...]RLINE %1,0,0,100,100プロッタプリンタで矩形を描画する
MOVE (1Z-007x)MOVE X,YMOVE 100,100プロッタプリンタの始点座標を指定する
PMOVE (MZ-5Z00x)PMOVE X,YPMOVE 100,100プロッタプリンタの始点座標を指定する
RMOVERM.RMOVE X,YRMOVE 100,100プロッタプリンタの矩形始点座標を指定する
PHOMEPH.PHOMEPHOMEプロッタプリンタのペン位置を起点に戻す
HSETH.HSETHSETプロッタプリンタの現在のペン位置を起点に指定する
GPRINTGP.GPRINT [[文字サイズ(0〜63),角度(0〜3),]]文字列式GPRINT [2,0],A$プロッタプリンタで文字を印字する角度:
0: 0°
1: 90°
2:180°
3:270°
AXISAX.AXIS XY(0〜1),ピッチ(-999〜999),リピート数(1〜255)AXISプロッタプリンタで座標軸を印字する
XY=0:Y
XY=1:X
CIRCLE (1Z-007x)CI.CIRCLE X,Y,半径[,[始点],[終点],[ステップ角]CIRCLE 100,100,50プロッタプリンタで円を描画する
X=-999〜999,Y=-999〜999
半径=0〜999
始点・終点・ステップ角(角度指定)
ステップ角:0.2で真円
PCIRCLE (MZ-5Z00x)PCI.PCIRCLE X,Y,半径[,[始点],[終点],[ステップ角]PCIRCLE 100,100,50プロッタプリンタで円を描画する
[戻る]
文字列関数
表記省略形凡例使用例説明
ASCASC(文字列式)ASC("TEST")文字列先頭のキャラクタコードを返す
ASCCHR$ (MZ-5Z001)AS.ASCCHR$(文字列)ASCCHR$(A)文字列を変換し、16進文字列式を返す
VALVAL(文字列式)VAL("123")文字列を数値に変換する
CHR$CHR$(数式[,...])CHR$(41)指定したキャラクタコードの文字を返す
HEXCHR$ (MZ-5Z001)HEXC.HEXCHR$(16進文字列式)HEXCHR$(A$)16進文字列式をキャラクタコードに変換し、文字列を返す
FONT$ (MZ-5Z001)FON.FONT$(タイプ,キャラクタコード)[=16進文字列式]FONT$(1,10)
FONT$(3,10)=A$
CG/PCGに登録されたキャラクタパターンを返す
PCGにキャラクタパターンを定義する
STR$STR$(数式)STR$(A)数値を文字列に変換する
SPACE$SPA.SPACE$(数式)SPACE$(A)指定した長さの空白文字列を返す
SPCSPC(数式)SPC(A)指定した長さの空白を返す(出力文字式内でのみ使用)
TABTAB(数式)TAB(A)指定した長さのタブを返す(出力文字式内でのみ使用)
HEX$HE.HEX$(数式)HEX$(255)10進数を16進数文字列に変換する
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)文字列の右側から式で指定した桁数の文字列を返す
EOF (MZ-5Z00x)EOF(#n)EOF(#1)デバイスから読み込んだデータが終端(EOF)か判定する(n=1〜127)
[戻る]
数値関数
表記省略形凡例使用例説明
INTINT(数式)INT(A)数式の整数値を返す(数式の値を超えない整数値)
FRACFR.FRAC(数式)FRAC(A)数式の小数点以下の値を返す
SGNSGN(数式)SGN(A)符号を返す
数式>0: 1
数式=0: 0
数式<0:-1
RNDRND(数式)RND(A)0以上1未満の乱数を返す
 1 : 次の乱数を発生する(省略した場合も同様)
-1 : 乱数係数を変更する
 0 : 同じ乱数を生成する
[戻る]
数学関数
表記省略形凡例使用例説明
PAIPAI(数式)PAI(2)円周率(3.1415927)の指定倍数を返す
πππ円周率(3.1415927)を返す
ABSABS(数式)ABS(-1000)絶対値を返す
SINSIN(数式)SIN(3.14)正弦(サイン)の値を返す
COSCOS(数式)COS(3.14)余弦(コサイン)の値を返す
TANTAN(数式)TAN(3.14)正接(タンジェント)の値を返す
ATNATN(数式)ATN(3.14)逆正接(アークタンジェント)の値を返す
RADRAD(数式)RAD(1)ラジアンを返す
EXPEXP(数式)EXP(1)自然対数の低(e)に対する指数関数の値を返す
LNLN(数式)LN(1)自然対数の値を返す
LOGLOG(数式)LOG(1)常用対数の値を返す
SQRSQR(数式)SQR(2)平方根の値を返す
[戻る]
その他関数
表記省略形凡例使用例説明
TI$TI$TI$
TI$="012345"
起動時からの経過時間を返す(hhmmss)
時間を定義する
POINTPOI.POINT(X,Y)POINT(100,100)指定座標のカラーコードを返す
ERNERNERNエラー番号を返す
ERLERLERLエラー時の行番号を返す
CSRH (MZ-5Z00x)CSRHCSRH現在のカーソル位置(X)を返す
CSRV (MZ-5Z00x)CSRVCSRV現在のカーソル位置(Y)を返す
POSH (MZ-5Z00x)POSHPOSH現在のグラフィックポジション(X)を返す
POSV (MZ-5Z00x)POSVPOSV現在のグラフィックポジション(Y)を返す
STICK (MZ-5Z009)STI.STICK(スティック番号)STICK(1)ジョイスティックの方向の値を返す
STRIG (MZ-5Z009)STR.STRIG(スティック番号)STRIG(1)ジョイスティックのボタンの値を返す
PEEKPE.PEEK(アドレス)PEEK($D000)指定したアドレスの値を返す
PEEK@PE.@PEEK@(アドレス)PEEK@($D000)指定したアドレスの値を返す
$D000以降はVRAMなどのシステム領域となるため、$D000以降のユーザ領域ではこちらを使用
SIZESIZESIZEフリーエリアの値を返す
[戻る]

※ モニタ
アドレスは4文字の16進数、データは2文字の16進数で指定
省略可能なアドレスを省略した場合は直前の指定アドレスとなる

IPLのモニタとBASICのモニタでは一部コマンドが異なる

D [StartAdr][ EndAdr]ダンプリスト
F StartAdr EndAdr Data1 [Data2] [...]データ検索(BASIC)
M [StartAdr]メモリセット
T StartAdr EndAdr TransferAdr開始〜終了で指定したアドレスの値を転送先アドレスに転送(BASIC)
G StartAdrサブルーチン実行(BASIC)
J StartAdr実行(IPL)
S StartAdr EndAdr ExecAdr:ファイル名開始〜終了で指定したアドレスの値を実行アドレスを指定してファイルにセーブ
MZ-5Z00xでは引数ではなく対話式
L [StartAdr:][ファイル名]ファイルをロード
V [ファイル名]ファイルを確認(CMTのみ)
BBEEPモード指定(IPL)
RBASICに戻る(BASIC)
#RAMエリアに制御を戻す(IPL)
Pプリンタ制御(IPL)
P文字列 : 文字列を印字
P&T : テストパターンを印字
P&S : 80文字モード
P&L : 40文字モード
P&G : グラフィックモード
P&C : ペンを次の色に変更(プロッタプリンタ)
Pプリンタ出力切替(BASIC)
(mz1500:9Z-502M)
QSクイックディスクにファイルをセーブ
QLクイックディスクからファイルをロード
QCクイックディスクのファイルをコピー
QDクイックディスクのファイル一覧を表示
QFクイックディスクをフォーマット
QXカセットテープのファイルをクイックディスクにコピー

[戻る]

※ デバイス名

CMT:(mz1500:MZ-1T03)カセット
QD: (mz800:MZ-1E14)クイックディスク
FDn:(MZ-1E05など)フロッピーディスク
ただし、DISK-BASICのみ使用可能なのでMZ-5Z00xには存在しない
RAM:(MZ-1R12など)RAMディスク
以下、ファイル関連では指定不可
CRT:ディスプレイ
LPT:(MZ-1P17など)プリンタ
RSn:(MZ-1E24など)RS-232C(n=1〜4)

[戻る]

※ デバイス初期化
(MZ-5Z00x)

QD:クイックディスクの初期化を行う
RAM:xxxxアドレス指定:$0010〜$FFFF(MZ-1R12使用時)
LPT:[モード][,プリンタ種別][,改行コード モード:M0〜2
0:ダイレクトモード
1:スプールモード(MZ-1R12使用時のみ:RAMの一部を使用)
2:ダイレクトモード(MZ-1R12使用時のみ:RAMの一部を使用)
(MZ-5Z001)
プリンタ種別:S0〜6
(MZ-5Z009)
プリンタ種別:S0〜3
RSn,モニタコード,初期化コード[,終了コード]n:1〜4

(MZ-5Z001)

CRT:I:イメージモード
G:グラフィックモード
画面2を全てPCGに割り当てる
画面2をグラフィック使用可能にする
PCG最大1000個
320x200のグラフィックとPCG最大24個

(MZ-5Z009)

CRT:Mn[,Bn]ディスプレイモード指定

Mn:
1 : 40桁 320x100 colors:4
2 : 40桁 320x100 colors:16
3 : 80桁 640x200 mono
4 : 80桁 640x200 colors:4
Bn:カラーブロック:0〜3

[戻る]

※PRINT書式
; : 式を続けて表示する(A;B) 例 1;2
1 2
, : 式をTABで区切って表示する(A,B) 例 1,2
1         2

文字列内に一部特殊文字を使用可能
・「」([GRPH]→[CLR]):画面をクリアし、カーソルを左上に移す
・「」([GRPH]→[HOME]):カーソルを左上に移す
・「」([GRPH]→[→]):カーソルを右に移す
・「」([GRPH]→[←]):カーソルを左に移す
・「」([GRPH]→[↑]):カーソルを上に移す
・「」([GRPH]→[↓]):カーソルを下に移す

[戻る]

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

[戻る]

※ カラー/パレットコード

0BlackBlock 0
1Blue
2Red
3Magenta
4GreenBlock 1
5Cyan
6Yellow
7White
(MZ-5Z009拡張:16colors)
8GrayBlock 2
9Bright Blue
10Bright Red
11Bright Magenta
12Bright GreenBlock 3
13Bright Cyan
14Bright Yellow
15Bright White
(MZ-5Z009拡張:mono)
0Black 
1Bright White
(MZ-5Z009拡張:4colors)
0Black 
1Blue
2Red
3Bright White

オーバーレイモード(0〜1)

0 : 上書き(パレットコードで指定した色で上書きする)
1 : 論理和(パレットコードと元の色の論理和を取る)

[戻る]

※ PCG定義

0画面1ROMCG1(参照のみ)0〜255
1画面1ROMCG2(参照のみ)0〜255
2画面2PCG(イメージモード)1〜1000
3画面2PCG(グラフィックモード)1〜24

[戻る]

※ MML
MMLを「,」で続けておくと1つ目のMMLの演奏が終わってから次のMMLを演奏する
(MZ-5Z00x拡張)
MMLを「;」で続けておくと和音演奏となる(MZ-5Z001:最大6和音、MZ-5Z009:最大3和音)

音階指定:CDEFGAB
(MZ-5Z00x拡張)
もしくは「Nn」(9[O0A]〜83[O6B]:0〜8はエラーにはならないが音は出ない)

休符:「R」

音長指定は以下の通り

032分
116分
2付点16分
38分
4付点8分
54分
6付点4分
72分
8付点2分
9

オクターブ指定
音階の前に「-」で1オクターブ下げ(指定した音階のみに有効)
音階の前に「+」で1オクターブ上げ(指定した音階のみに有効)
(MZ-5Z00x拡張)
「On」(n=0〜6):以降のオクターブを指定
(O0A〜06B)

半音指定
音階の前に「#」で半音上げ

(以下、MZ-5Z00x拡張)
音長指定:「Ln」(デフォルト音長指定)
音量指定:「Vn」(n=0〜15)
テンポ指定:「Tn」(1〜7:TEMPOと同じ)
ソフトウェアエンベロープ指定:「Sn」(0〜7:MZ-5Z009では8まで)
ソフトウェアエンベロープ長さ:「Mn」(0〜255:単位約10ms)

[戻る]

※ ボイス (MZ-1M08)
スピードコード: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(メロディ:村の鍛冶屋)

[戻る]

※ ジョイスティック (MZ-5Z009)
STICK(n) : n=1〜2
0 : 中立状態
1 : 上
2 : 右上
3 : 右
4 : 右下
5 : 下
6 : 左下
7 : 左
8 : 左上
STRIG(n) : n=0〜2(0はスペースキーの状態)
0 : 中立状態
1 : トリガ1押下
2 : トリガ2押下
3 : トリガ1・2押下

[戻る]

※ 定数型・変数型
±1.8487437E-38〜±1.7014118E+38までが指定できる範囲である

A$ : 文字列型(A$="TEST")
$  : 16進数形式($FFFF)

[戻る]

※ 演算子
+   : 加算・結合(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)


※MODは数値の間に空白が必要(マニュアルにはない隠し命令)

[戻る]

※ エラーメッセージ一覧

エラーメッセージ一覧
番号表記意味
1Syntaxコマンド、またはステートメントの書き方が間違っている
2Overflow値が許容範囲を超えた
3Illegal data異常なデータを指定した
4Type mismatch変数または定数の型が合わない
5String length文字列の文字数が255を超えた
6Memory capacityメモリの領域を超えた
7Array def.配列の定義が異常
8Line length行の長さが異常
10GOSUB nestingGOSUBの入れ子が15を超えた
11FOR-NEXTFORの入れ子が15を超えた
12DEF FN nestingDEF FNの入れ子が6を超えた
13NEXTNEXTに対応したFORがない
14RETURNRETURNに対応したGOSUBがない
15Un def. Function未定義のユーザ定義関数を呼び出そうとした
16Un def. line未定義の行番号を指定した
17Can't CONTCONTによるプログラムの再開ができない
18Memory protectionメモリが保護されている
19Instructionダイレクトステートメントが実行できない
20Can't RESUMERESUMEによるプログラムの再開ができない
21RESUMERESUMEに対応したON ERROR GOTOがない
22PAL (MZ-5Z009)異常なパレットコードが指定された
24READREADに対応したDATAがない
28System id (MZ-5Z001)BASIC以外のディスクを読み込もうとした
29Framing (MZ-5Z00x)フレーム形成に失敗した
30Overrun (MZ-5Z00x)オーバーランが発生した
31Parity (MZ-5Z00x)パリティエラーが発生した
40File not found (MZ-5Z00x)ファイルが見つからない
41Hardware (MZ-5Z001)デバイスエラーが発生した
42Already exist (MZ-5Z00x)ファイルが既に存在している
43Already openファイルが既にオープンされている
44Not open (MZ-5Z00x)ファイルがオープンできない
46Write protect (MZ-5Z00x)ファイルが保護されている
50Not ready (MZ-5Z001)デバイスがREADY状態ではない
51Too many files (MZ-5Z00x:MZ-1R12)RAM上のファイル数(32)を超えた
52Disk missmatch (MZ-5Z001)ディスクが一致しない
53No file space (MZ-5Z00x)ファイルの領域がない
54Unformat (MZ-5Z001)ディスクがフォーマットされていない
55Too long file (MZ-5Z001)ファイルサイズが64KBを超えた
58DEV. name (MZ-5Z00x)デバイス名が異常
59Can't execute (MZ-5Z00x)ファイルが実行できない
60Illegal filename (MZ-5Z00x)ファイル名が異常
61Illegal file mode (MZ-5Z00x)ファイルモードが異常
63Out of fileファイルの読込時ファイル長を超えた
64Logical number (MZ-5Z00x)ファイルの論理番号が異常
65Printer not readyプリンタが接続されていない
65LPT: is not ready (MZ-5Z00x)プリンタが接続されていない
66Printer hardware (MZ-5Z001)プリンタのハードウェア異常
67Out of paper (MZ-5Z001)プリンタ用紙切れ
68Printer modeプリンタモードが異常
68Dev. mode (MZ-5Z00x)デバイスのモードが異常
69Unprintable (MZ-5Z00x)プリンタが印字できない
70Check sumCMT読込時にチェックサムの異常が発生

[戻る]

[TOPに戻る]