ノスタルジアpc-9801 その7

#概要

整理していたら、フロッピーディスクが出てきた。
せっかくなので、エミュで動かしてみた。

#環境

- windows vista
- t98-next
- disk explorer

#N88BASIC リファレンス

|コマンド|機能|書式|例|
|:--|:--|:--|:--|
|CONT|STOPキー入力、またはSTOP文によって停止したプログラムの実行を再開する。|CONT|CONT|
|KEY LIST|ファンクションキーの内容をリストする|KEY LIST|KEY LIST|
|MON|内蔵の機械語モニタに制御を移す|MON|MON|
|NEW|メモリにあるプログラムを抹消し、全ての変数をクリアする|NEW|NEW|
|NEW ON|N88-BASICからN-BASICを起動するときなど、システムの種々のモードを設定する。|NEW ON 式|NEW ON 1|
|RUN|メモリにあるプログラムの実行を開始する|RUN [行番号]RUN ファイルディスクリプタ [,R]|RUN 100 RUN "2:TEST"|
|TERM|システムをターミナルモードにする|TERM "[COM:][パリティ[ビット[ストップビット[XONスイッチ[Sパラメータ[DELコード処理[RETコード処理[受信CRコード処理[日本語シフトコード指定]]]]]]]]]"[,[モード][,変数領域の大きさ]]|TERM "COM:E72X",,1000
|TRON/TROFF|プログラムの実行状態を追跡する|TRON/TROFF|TRON|
|FILES/LFILES|ディスクに入っているファイルの名前、種類と大きさを表示する|FILES [ドライブ番号]|FILES 2|
|KILL|ディスクからファイルを削除する|KILL ファイルディスクリプタ|KILL "2:SAMPLE"|
|NAME|ディスクファイルの名前を変える|NAME 旧ファイル名 AS 新ファイル名|NAME "SAMPLE" AS "SAMPLE1"|
|SET|ファイル属性のセット・リセット|SET ドライブ番号,"属性文字"SET ファイル名,"属性文字"SET #ファイル番号, "属性文字"|SET 1,"P"SET "2:NOTWRITE","P"SET #1,"R"|
|BLOAD|機械語プログラムをロードする|BLOAD ファイルディスクリプタ[,ロードアドレス][,R]|BLOAD "DEMO.BIN",R|
|BSAVE|機械語プログラムをセーブする|BSAVE ファイルディスクリプタ,開始番地,長さ|BSAVE "DEMO.BIN", &H0100, &H2FF|
|LOAD|プログラムをメモリにロードする|LOAD ファイルディスクリプタ[,R]|LOAD "CAS2:TEST"|
|LOAD?|カセットに正しくプログラムがセーブできたかを確認する|LOAD? ファイルディスクリプタ|LOAD? "CAS2:TEST"|
|MERGE|プログラムを混合する|MERGE ファイルディスクリプタ|MERGE "2:TEST"|
|SAVE|メモリのBASICプログラムをファイルにセーブする|SAVE ファイルディスクリプタ[,A/P]|SAVE "2:MYPROG", A|
|AUTO|行番号を自動的に発生する|AUTO [行番号][,増分]|AUTO 100,5|
|DELETE|プログラムの部分削除|DELETE [始点行番号][-終点行番号]|DELETE 10-230|
|EDIT|指定された行を画面上に表示し、カーソルを移動する|EDIT 行番号|EDIT 30|
|LIST/LLIST|メモリ内にあるプログラムの全部または一部をリストアウトする|LIST [行番号][-行番号]LLIST [行番号][-行番号]|LIST 100-200LIST|
|RENUM|プログラムの行番号を整理する|RENUM [新行番号][,旧行番号][,増分]|RENUM|
|CLEAR|変数の初期化およびメモリ領域の設定をする|CLEAR [ダミーパラメータ][,メモリの上限][,スタックの大きさ][,配列データ領域の大きさ]|CLEAR ,&H3000|
|COMMON|CHAIN文が実行されたとき変数を引き渡す|COMMON 変数名[,変数名...]|COMMON A.B.XY().NA$|
|DATA|READ文で読み込まれる数値、文字列定数を格納する|DATA 定数[,定数...]|DATA 1, NEC, 9800|
|DEF FN|ユーザーによって作られた関数を定義する|DEF FN名前[(パラメータリスト)]=関数の定義式|DEF FNA(X,Y)=X*2+Y*3|
|DEFINT/SNG/DBL/STR|変数の型宣言をする|DEF[INT/SNG/DBL/STR]文字の範囲[,文字の範囲...]|DEFINT A,I-K|
|DIM|配列変数の要素の大きさを指定し、メモリ領域に割り当てる|DIM 変数名 (添字の最大値 [, 添字の最大値...])|DIM A(12,2)|
|END|プログラムの終了を宣言する|END|END|
|ERASE|配列変数を消去する|ERASE 配列変数名 [,配列変数名...]|ERASE C,D|
|KEY|キーボードの上部にあるプログラマブル・ファンクションキーの内容を定義する|KEY キー番号,文字列|KEY 1, "LOAD"|
|OPTION BASE|配列の添字の下限を宣言する|OPTION BASE [0/1]|OPTION BASE 1|
|RANDOMIZE|新しい乱数系列を設定する|RANDOMIZE [式]|RANDOMIZE|
|REM|プログラムに注釈を入れる|REM [注釈文]|REM TESTPROGRAM 'TESTPROGRAM|
|RESTORE|READ文で読むDATA文を指定する|RESTORE [行番号]|RESTORE 800|
|DATE$|日付を与える|DATE$|D$=DATE$|
|FRE|メモリの未使用領域の大きさを与える|FRE()|PRINT FRE(0)|
|TIME$|内蔵クロックの時刻を与える|TIME$TIME$="HH:MM:SS"|PRINT TIME$|
|CHAIN|プログラムを連結し実行する|CHAIN [MERGE]ファイルディスクリプタ[, 行番号][,ALL]|CHAIN MERGE "1:TEST", 500, ALL, DELETE 500-600|
|FOR...TO...STEP-NEXT|FOR文からNEXT文までの一連の命令を指定回数だけ繰り返して実行する|FOR 変数名=初期値 TO 終値 [STEP 増分] - NEXT [[変数名][,変数名]]|FOR J=0 TO 100 STEP 2: ... :NEXT J|
|GOSUB-RETURN|サブルーチンのコール、およびサブルーチンからのリターンを行う|GOSUB 行番号RETURN [行番号]|GOSUB #GOOD|
|GOTO GO TO|指定した行へジャンプする|GOTO 行番号GO TO 行番号|GOTO 500|
|IF...THEN...ELSE IF...GOTO...ELSE|論理式の条件判断を行う|IF 論理式 [THEN 文/行番号]/[GOTO 行番号] [ELSE 文/行番号]|IF A$="Y" THEN *START ELSE 120|
|ON...GOSUB ON...GOTO|指定されたいずれかの行に分岐する|ON 式 GOSUB 行番号[,行番号...]ON 式 GOTO 行番号[,行番号]|ON A GOSUB 100,200,300,400 ON A GOTO 100,200,300,400|
|STOP|プログラムの実行を停止してコマンドレベルに戻る|STOP|STOP|
|WHILE-WEND|条件が満たされている間繰り返し実行する|WHILE 論理式 : ... : WEND|WHILE I>5 : ... : WEND|
|LET|変数に値を代入する|[LET] 変数名=式|LET A=10|
|READ|DATA文より値を読み、変数に割り当てる|READ 変数リスト|READ A,B,C$|
|SWAP|2つの変数の値を変換する|SWAP 変数,変数|SWAP A$,B$|
|ABS|絶対値を与える|ABS(数式)|B=ABS(-2)|
|ATN|逆正接（アークタンジェント）を与える|ATN(数式)|A=ATN(I)|
|CINT|単精度実数値、倍精度実数値を整数値に変換した値を与える|CINT(数式)|A%=CINT(B#*2)|
|CDBL|整数値、単精度実数値を倍精度実数値に変換した数値を与える|CDBL(数式)|A#=CDBL(B!/2)|
|COS|余弦（コサイン）を与える|COS(数式)|C=COS(3.1415/2)|
|CSNG|整数値、倍精度実数値を単精度実数値に変換した値を与える|CSNG(数式)|A!=CSNG(B#)|
|CVI CVS CVD|文字列を数値データに変換した値を与える|CVI(2文字の文字列)CVS(4文字の文字列)CVD(8文字の文字列)|A%=CVI(A$) B=CVS("A3Bd") C#=CVD(NUM$) |
|EXP|eに対する指数関数の値を与える|EXP(数式)|E=EXP(1)|
|FIX|整数部を与える|FIX(数式)|F=FIX(B/3)|
|INT|小数点以下を切り捨てた整数値を与える|INT(数式)|PRINT INT(1.123)|
|LOG|自然対数を与える|LOG(数式)|PRINT LOG(35/9)|
|RND|乱数を与える|RND[(数式)]|R=RND(1)|
|SGN|符号を調べる|SGN(数式)|PRINT SGN(A)|
|SEARCH|任意の配列変数の要素の中から指定された値を探し出しその要素ナンバーを与える|SEARCH(配列変数名,整数表記[,開始ナンバー][,ステップ値]|NUM=SEARCH(A%,100,0,3)|
|SIN|正弦（サイン）を与える|SIN(数式)|PRINT SIN(1)|
|SQR|平方根（スクェアールート）を与える|SQR(数式)|A=SQR(2)|
|TAN|正接（タンジェント）を与える|TAN(数式)|A=TAN(123)|
|MID$|文字列の一部を置き換える|MID$(文字列1, 式1[, 式2])=文字列2|MID$(A$, 3)="ABC"|
|ASC|文字のキャラクタコードを与える|ASC(数式)|A=ASC("A")|
|CHR$|指定したキャラクタコードを持つ文字を与える|CHR$(数式)|A$=CHR$(65)|
|HEX$|10進数を16進数に変換し、その文字列を与える|HEX$(数式)|A$=HEX$(X)|
|INSTR|文字列の中から任意の文字列を探してその文字の位置を与える|INSTR([数式,]文字列1,文字列2)|J=INSTR(A$,"J")|
|LEFT$|文字列の左側から任意の長さの文字列を与える|LEFT$(文字列,数式)|B$=LEFT$(A$,4)|
|LEN|文字列の総文字数を与える|LEN(文字列)|PRINT LEN(A$)|
|MID$|文字列の中から任意の長さの文字列を与える|MID$(文字列,式1[,式2])|PRINT MID$(A$,2,3)|
|MKI$/MKS$/MKD$|各数値を内部表現に対応した文字コードを与える|MKI$(整数表記)MKS$(単精度表記)MKD$(倍精度表記)|A$=MKI$(128)LSET B$=MKS$(1.23)RSET C$=MKD$(3.141592654#)|
|OCT$|10進数を8進数に変換し、その文字列を与える|OCT$(数式)|PRINT OCT$(A)|
|RIGHT$|文字列の右側から任意の長さの文字列を与える|RIGHT$(文字列,数式)|PRINT RIGHT$(A$,4)|
|SPACE$|任意の長さの空白文字列を与える|SPACE$(数式)|PRINT SPACE$(10);"ABC"|
|STR$|数値を表す文字列を与える|STR$(数式)|A$=STR$(123)|
|STRING$|任意の文字を任意の数だけ与える|STRING$(式,文字列/数式)|A$=STRING$(10,"+")|
|VAL|文字列の表す数値を与える|VAL(文字列)|A=VAL("2")|
|AKCNV$|文字列の中の1バイト系文字を2バイト系文字に変換する|AKCNV$(文字列)|A$=AKCNV$(B$)|
|JIS$|日本語文字を漢字コードで与える|JIS$(文字列)|A$=JIS$(B$)|
|KACNV$|文字列の中の日本語文字を対応する英数かな(1バイト系)文字に変換する|KACNV$(文字列)|A$=KACNV$(B$)|
|KEXT$|文字列の中から1バイト系英数カナ文字だけ、あるいは、2バイト系日本語文字だけのどちらかを抜き出して与える|KEXT$(文字列, )|A$=KEXT$(B$,1)|
|KINSTR|日本語文字を含む文字列の中から指定した文字列を探してその文字の位置を与える|KINSTR([数式,]文字列1,文字列2)|J=KINSTR(3,A$,"東京")|
|KLEN|日本語を含む文字列の文字数を与える|KLEN(文字数[,])|KLEN(A$,0)|
|KMID$|日本語を含む文字列の中から任意の長さの文字列を与える|KMID$(文字列,式1[,式2])|KMID$(A$,4,3)|
|KNJ$|漢字コード文字列4桁を日本語1文字に変換して与える|KNJ$(文字列)|KNJ$("4E7A")|
|KTYPE|日本語を含む文字列の中の指定位置の文字のタイプを与える|KTYPE(文字列,式)|KTYPE(A$,5)|
|CLS|現在アクティブな画面をクリアする|CLS []| CLS 2|
|COLOR|ディスプレイ画面の各部の色を指定する|COLOR [ファンクションコード][,バックグラウンドカラー][,ボーダーカラー][,フォアグラウンドカラー][,パレットモード]|COLOR 7,0,0,7|
|COLOR|カラーパレットを変更する|COLOR[=(パレット番号,カラーコード)]|COLOR=(2,4)|
|COLOR@|テキスト画面に書かれた文字などに色を設定する|COLOR@(X1,Y1)-(X2,Y2)[,ファンクションコード]|COLOR@(0,0)-(79,4),2|
|CONSOLE|テキスト画面のモードの設定を行う|CONSOLE [スクロール開始行][スクロール行数][,ファンクションキー表示スイッチ][,カラー/白黒スイッチ]|CONSOLE 0,25,0,1|
|SCREEN|グラフィック画面に対して種々のモードを設定する|SCREEN [画面モード][,画面スイッチ][,アクティブページ][,ディスプレイページ]|SCREEN 1,0,0,7|
|WIDTH|デバイスやファイルに対して文字の領域を設定する|WIDTH [桁数][,行数]|WIDTH 80,25|
|VIEW|ディスプレイ画面上での表示領域(ビューポート)を指定する|VIEW(SX1,SY1)-(SX2,SY2)[,領域色][,境界色]|VIEW(100,30)-(200,75),,7|
|WINDOW|ビューポートに表示するワールド座標系内の領域を指定する|WINDOW(WX1,WY1)-(WX2,WY2)|WINDOW(-300,-50)-(100,70)|
|MAP|スクリーン座標、ワールド座標の相互変換を行う|MAP(数式1, )|SY1=MAP(WY1,1)|
|INPUT|指定した変数へ入力する|INPUT ["プロンプト文" [;/,]]変数 [, 変数...]|INPUT "Date";A$|
|INPUT WAIT|キーボードからの入力を時間制限する|INPUT WAIT 待ち時間,["プロンプト分" [;/,]]変数[,変数...]|INPUT WAIT 100, "Your name";NA$|
|KINPUT|指定した変数へ日本語文字を入力する|KINPUT 変数|KINPUT A$|
|LINE INPUT|1行全体（255文字以内）を区切ることなく文字列変数に入力する|LINE INPUT ["プロンプト分";] 文字変数|LINE INPUT "NAME";NA$|
|LOCATE|テキスト画面のカーソルの位置を指定する|LOCATE [X][,Y][,カーソルスイッチ]|LOCATE 10,10|
|PRINT|ディスプレイに情報を出力する|PRINT [式...]|PRINT "ABC"|
|PRINT USING|文字列、数値を指定したで出力する|PRINT USING 制御文字列;式[[;/,]式...][[;/,]]|PRINT USING "#####,.";A,B|
|WRITE|画面へデータを出力する|WRITE [式の列]|WRITE I *J,K;A$|
|CSRLIN|現在のカーソルの行位置を与える|CSRLIN|Y=CSRLIN|
|INKEY$|キーが押されていればその文字を、キーが押されていなければヌルストリングを与える|INKEY$|A$=INKEY$|
|POS|テキスト画面上の現在のカーソルの水平位置を与える|POS(式)|P=POS(0)|
|SPC|任意の数だけ空白を出力する|SPC(数式)|PRINT SPC(10);A$|
|TAB|現在のカーソルのある行の任意の位置まで空白を出力する|TAB(数式)|PRINT TAB(10);"PC-9800"|
|CIRCLE|楕円（円）を描く|CIRCLE [[Wx,Wy]/[STEP(X,Y)]],半径[,パレット番号1][,開始角度][,終了角度][,比率][,F[,パレット番号2/タイルストリング]]|CIRCLE(80,80),40,4,0,0,6.28|
|DRAW|グラフィック描画サブコマンド列（文字列）に従って、ワールド座標上で図形を描く|DRAW 文字列式|DRAW"U50R50D50L50"|
|GET@|スクリーン座標系のグラフィックパターンを読み込む|GET[@](SX1,SY1)-[(SX2,SY2)/STEP(x,y)],配列変数名[要素]|GET(100,50)-(130,70),G%|
|LINE|指定された2点間に直線を引く|LINE [(WX1,WY1)/STEP(X1,Y1)]-Wx2,WY2/STEP(X2,Y2)[,パレット番号1][,B/BF][,ラインスタイル/パレット番号2/タイルストリング]|LINE(100,100)-(135,100),7,,&HF99F|
|PAINT|指定された境界色で囲まれた領域を指定された色で塗る|PAINT (Wx,Wy)/STEP(x,y)[,領域色[,境界色]]|PAINT(-50,120),3,4|
|PAINT|指定された境界色で囲まれた領域を指定されたタイルパターンで埋める|PAINT (Wx,Wy)/STEP(x,y),タイルストリング[,境界色]|PAINT(255,120),TILE$,4,BACK$|
|POINT|Last Referenced Point(LP)を変更する|POINT (Wx,Wy)/STEP(x,y)|POINT(-200,30)|
|PRESET|画面上の任意のドットをリセットする|PRESET (Wx,Wy)/STEP(x,y)[,パレット番号]|PRESET(100,100)|
|PSET|画面上の任意のドットをセットする|PSET (Wx,Wy)/STEP(x,y)[,パレット番号]|PSET(100,100),4|
|PUT@|グラフィックパターンや漢字を画面に表示する|PUT[@](Sx,Sy),配列変数名[要素ナンバー][,条件][,フォアグラウンドカラー,バックグラウンドカラー]PUT[@](Sx,Sy),KANJI(漢字コード),[,条件][,フォアグラウンドカラー,バックグラウンドカラー]|PUT(100,100),G%,PSET PUT(0,0),KANJI(12321)|
|ROLL|グラフィック画面をスクロールさせる|ROLL [上下方向ドット数],[,左右方向ドット数][,N/Y]|ROLL 16|
|POINT|Last Referenced Point(LP)の値を与える|POINT()|LX=POINT(0)|
|POINT|スクリーン座標上の指定された座標に表示されているドットの色を与える|POINT(Sx,Sy)|C=POINT(473,120)|
|VIEW|現在のビューポートの設定位置を与える|VIEW()|SX1=VIEW(0)|
|WINDOW|現在のウィンドウの設定位置を与える|WINDOW()|WY1=WINDOW(1)|
|COPY|画面上に表示されている文字、図形をプリンタへ出力する|COPY[]|COPY 3|
|LPRINT|プリンタに情報を出力する|LPRINT [式]|LPRINT "ABC"|
|LPRINT USING|文字列、数値を指定したで出力する|LPRINT USING |制御文字列;式|LPRINT USING "#####,.";A,B|
|WIDTH LPRINT|プリンタに出力される1行の表示文字数を設定する|WIDTH LPRINT 文字数|WIDTH LPRINT 80|
|LPOS|現在のプリンタのヘッド位置を与えます|LPOS 式|LPOS(0)|
|CLOSE|ファイルを閉じる|CLOSE [[#]ファイル番号[,[#]ファイル番号]...]|CLOSE|
|DSKO$|ディスクに対しての直接書き込み|DSKO$ ドライブ番号,サーフェス番号,トラック番号,セクタ番号|DSKO$ 1,0,19,1|
|FIELD|ランダムファイル・バッファに変数領域を割り当てる|FIELD [#]ファイル番号,フィールド幅 AS 文字変数 [,フィールド幅 AS 文字変数...]|FIELD#1, 128 AS A$, 64 AS B$, 64 AS C$|
|GET|ファイル中のデータをバッファに読み込む|GET [#]ファイル番号[,数]|GET 3,5|
|INPUT#|シーケンシャルファイルからのデータを読み込む|INPUT #ファイル番号,変数[,変数...]|INPUT #1,A,B|
|KILL|ディスクからファイルを削除する|KILL ファイルディスクリプタ|KILL "2:SAMPLE"|
|LINE INPUT#|1行全体(255文字以内)を区切ることなくシーケンシャル・ディスクファイルより文字変数に読み込む|LINE INPUT #ファイル番号,文字変数|LINE INPUT #1,A$|
|LSET/RSET|ファイルバッファへデータを書き込む|LSET 文字型変数=文字列RSET 文字型変数=文字列|LSET A$="PC-9800"RSET A$="N88-BASIC"|
|NAME|ディスクファイルの名前を変える|NAME 旧ファイル名 AS 新ファイル名|NAME "SAMPLE" AS "SAMPLE1"|
|OPEN|ファイルを開く|OPEN ファイルディスクリプタ [FORモード] AS [#]ファイル番号|OPEN "CAS1:TEST" FOR INPUT AS #1|
|PRINT#|シーケンシャルファイルにデータを出力する|PRINT #ファイル番号,[式...]|PRINT #2,A,B,C|
|PRINT# USING|文字列、数値を指定した|でファイルに出力する|PRINT# ファイル番号,USING |制御文字列;式 [;/, 式...][;/,]|PRINT #2 USING "####";A|
|PUT|バッファ中のデータをファイルに書き出す|PUT [#]ファイル番号[,数]|PUT #3,5|
|SET|ファイル属性のセット・リセット|SET ドライブ番号,"属性文字"SET ファイル名,"属性文字"SET #ファイル番号,"属性文字"|SET 1,"P"SET "2:NOTWRITE","P"SET #1,"R"|
|WRITE#|シーケンシャルファイルへデータを書き出す|WRITE #ファイル番号[,式の列]|WRITE #1,I*J,K;A$|
|ATTR$|指定ファイル、ドライブの属性を与える|ATTR$ (ドライブ番号)/(#ファイル番号)/(ファイル名)|PRINT ATTR$(1)|
|DSKF|ディスクに関する情報を与える|DSKF(ドライブ番号[,])|PRINT DSKF(1)|
|DSKI$|ディスクから直接読み出した内容を文字列として与える|DSKI$(ドライブ番号,トラック番号,セクタ番号)DSKI$( ドライブ番号,サーフェス番号,トラック番号,セクタ番号)|D$=DSKI$(2,19,1)D$=DSKI$(2,1,19,1)|
|EOF|ファイルの終了コードを与える|EOF(ファイル番号)|IF EOF(1) THEN CLOSE 1|
|FPOS|ファイル中での物理的な現在位置を与える|FPOS(ファイル番号)|HEAD=FPOS(4)|
|INPUT$|指定されたファイルより指定された長さの文字を与える|INPUT$(文字数[,[#]ファイル番号])|WORD$=INPUT$(6,#2)|
|LOC|ファイル中での論理的な現在位置を与える|LOC(ファイル番号)|LAST=LOC(2)|
|LOF|ファイルの大きさを与える|LOF(ファイル番号)|MAXREC=LOF(2)|
|ERROR|エラー発生のシミュレート、エラー番号のユーザー定義をする|ERROR 整数表記|ERROR 200|
|HELP ON/OFF/STOP|ヘルプキーによる割込の許可、禁止、停止を設定する|HELP ONHELP OFF HELP STOP|HELP OFF|
|KEY(n) ON/OFF/STOP|ファンクションキーによる割込の許可、禁止、停止を設定する|KEY[(キー番号)] ONKEY[(キー番号)] OFFKEY[(キー番号)] STOP|KEY ON|
|ON ERROR GOTO|エラートラップを可能にし、エラー処理ルーチンの開始行を定義する|ON ERROR GOTO 行番号|ON ERROR GOTO 1000|
|ON HELP GOSUB|HELPキーによる割り込みルーチンの開始行を定義する|ON HELP GOSUB 行番号|ON HELP GOSUB 1000|
|ON KEY GOSUB|ファンクションキーによる割り込みルーチンの開始行を定義する|ON KEY GOSUB 行番号[,行番号...]|ON KEY GOSUB 100, 200, 300, 400|
|ON STOP GOSUB|STOPキーによる割り込みルーチンの開始行を定義する|ON STOP GOSUB 行番号|ON STOP GOSUB 1000|
|ON TIME$ GOSUB|リアルタイムタイマの割込発生時刻と、その時分岐する処理ルーチンの開始行を定義する|ON TIME$="HH:MM:SS" GOSUB 行番号|ON TIME$="07:30:00" GOSUB *MORNINGCALL|
|RESUME|エラー回復処理終了後、プログラムの実行を再開する|RESUME 0/NEXT/行番号|RESUME 0RESUME NEXT RESUME 1000 |
|STOP ON/OFF/STOP|STOPキーによる割込の許可、禁止、停止を設定する|STOP ON STOP OFF STOP STOP|STOP ON|
|TIME$ ON/OFF/STOP|リアルタイムタイマによる割込の許可、禁止、停止を設定する|TIME$ ON TIME$ OFF TIME$ STOP|TIME$ ON|
|ERL/ERR|発生したエラーのエラーコードおよびエラーの発生した行番号を与える|ERL ERR|EL=ERL ER=ERR|
|COM ON/OFF/STOP|通信回線からの割込の許可、禁止、停止を設定する|COM[(n)] ON COM[(n)] OFF COM[(n)] STOP|  COM ON |
|ON COM GOSUB|通信回線からの割込が発生したとき、分岐する処理ルーチンの開始行を定義する|ON COM[(n)] GOSUB 行番号[,行番号...]|ON COM GOSUB 1000|
|BEEP|内蔵スピーカを鳴らす|BEEP [スイッチ]|BEEP|
|KPLOAD|利用者定義文字の文字パターンを登録する|KPLOAD 漢字コード,整数型配列名|KPLOAD &H7620,CHRPTN%|
|MOTOR|カセットテープレコーダのモータのON,OFFを制御する|MOTOR [スイッチ]|MOTOR 1|
|PEN ON/OFF/STOP|ライトペンによる割込の許可、禁止、停止を設定する|PEN ON PEN OFF PEN STOP|PEN ON|
|ON PEN GOSUB|ライトペンによる割り込み処理ルーチンの開始行を定義する|ON PEN GOSUB 行番号|ON PEN GOSUB *PENTEST|
|OUT|コンピュータの出力ポートに1バイトのデータを送る|OUT ポートアドレス,式|OUT 64,32|
|WAIT|コンピュータの入力ポートをモニタする間、プログラムの実行を停止する|WAIT ポート番号,式1[,式2]|WAIT 1,&H22,&H22|
|DATE$|日付を与える|DATE$|D$=DATE$|
|INP|入力ポートから値を得る|INP(ポート番号)|A=INP(15)|
|PEN|ライトペンからの情報を与える|PEN()|X=PEN(1)|
|TIME$|内蔵クロックの時刻を与える|TIME$ TIME$="HH:MM:SS"|PRINT TIME$|
|CALL|機械語サブルーチンを呼び出す|CALL 変数名[(引数[,引数...])]|CALL MSUBR(ARG1,ARG2)|
|DEF SEG|セグメントベースアドレスを設定する|DEF SEG=セグメントアドレス|DEF SEG=&H0100|
|DEF USR|機械語で作られたユーザー関数の実行開始番地を定義する|DEF USR[番号]=開始番地|DEF USR3=&HF000|
|POKE|メモリ上の指定番地へデータを書き込む|POKE 番地,整数表記|POKE &HF000,&HFF|
|PEEK|メモリ上の指定された番地の内容を読み出す|PEEK(番地)|A=PEEK(&HA000)|
|USR|機械語で作られた関数ルーチンを呼び出す|USR[番号](引数)|1=USR3(J)|
|VARPTR|変数の格納されているメモリ番地、ファイルに割り当てられているファイルコントロールブロックの開始番地を与える|VARPTR (変数名[,])VARPTR(#ファイル番号[,])|PRINT HEX$(VARPTR(A,1)) PRINT HEX$(VARPTR(A)) BSG%=VARPTR(#1,1) BAD%=VARPTR(#1)|
|ON PLAY GOSUB|PLAY割り込み処理ルーチンの開始行を定義|ON PLAY(チャンネル番号,残りバイト数) GOSUB 行番号|ON PLAY(1,1024) GOSUB *NEXT.PLAY|
|PLAY|音楽演奏を行う|PLAY [#モード番号,][文字列1][,文字列2][,文字列3][,文字列4][,文字列5][,文字列6]|PLAY #0,"L4O5CDEFG","L4O3GAB>CD"|
|PLAY ALLOC|サウンドバッファの確保および初期化を行う|PLAY ALLOC [CH1 バッファサイズ][,CH2 バッファサイズ][,CH3 バッファサイズ][,CH4 バッファサイズ][,CH5 バッファサイズ][,CH6 バッファサイズ]|PLAY ALLOC 255,255,255|
|PLAY ON/OFF/STOP|PLAY割り込みの許可、禁止、停止を設定する|PLAY ON PLAY OFF PLAY STOP|PLAY ON|
|VOICE|FM音源の音色バンクを再定義する|VOICE 音色番号,整数型配列名|VOICE 5,A%|
|VOICE COPY|FM音源の音色パラメータを配列にコピーする|VOICE COPY 音色番号,整数型配列名|VOICE COPY 4,PARA%|
|VOICE INIT|FM音源の音色番号と音色パラメータを初期化する|VOICE INIT|VOICE INIT|
|VOICE LFO|各チャンネルの出力にLFO効果を与える|VOICE LFO チャンネル番号[,波形][,SYNCディレイタイム][,速さ][,ピッチ変調深さ(微)][,振幅変調深さ][,ピッチ変調深さ(粗)]|VOICE LFO 2,3,10,1500,-15,0,7 |
|VOICE REG|シンセサイザLSIのレジスタに値を設定する|VOICE REG レジスタ番号,式|VOICE REG &H28,240|
|STATUS PLAY|サウンドバッファの未演奏データのバイト数を得る|STATUS PLAY(チャンネル番号)|PRINT STATUS PLAY(0)|


以上。