＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠

　　　　　　Be88-BASIC　　本家との相違　　by ＳＨＩＮＴＡ

＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠


　本家 N88-日本語 BASIC(86) ( Disk 版) と、Be88-BASIC の違いについて説明します。
　Be88-BASIC の拡張命令については、Be88Extension.txt をご覧下さい。



★★★　全般　★★★

　ダイレクトモードはサポートしていません。プログラムモードのみの動作となります。
　Ｎ88-日本語ＢＡＳＩＣ(86) フォーマットのディスクは読めません。
　Be88-BASIC の画面は専用高解像度ディスプレイ扱いです。
　JIS コードのプログラムを開く際、2 バイト系半角カタカナやグラフィックキャラクタなど、PC-98 固有の文字は代替の文字に変換されて読み込まれます。JIS コード以外のプログラムの場合は、PC-98 固有の文字は正常に読み込めず、その影響でプログラムの他の部分も誤って読み込まれることがあります。
　カーソルブリンクが、反転ではなく塗りつぶしになっています。
　ワールド座標系とスクリーン座標系の区別はありません。
　誤りのある BASIC プログラムを実行した場合、たいていは本家と類似のエラーメッセージが表示されますが、異なるエラーメッセージが表示される場合もあります。また、まれにエラーにならないことがありますが、その場合の動作は不定です。



★★★　キーボード　★★★

　PC-98 シリーズのキーボードと DOS/V 機のキーボードは一部が異なっています。そこで、Be88-BASIC では、以下のような代替キーを用いています。

PC-98 キー	DOS/V キー
=================
HOME CLR	Home
HELP		End
ROLL DOWN	Page Up
ROLL UP		Page Down
STOP		Ctrl+C



★★★　関数　★★★

[ DATE$ ]

　書式 1（日付の取得）のみのサポート。書式 2（日付の設定）は未サポートです。

[ EOF ]

　RS-232C 回線（ COM: ）はサポートしていません。

[ INP ]

　ポート番号 &HE0 ～ &HEC（キーセンス）と、ポート番号 &H5E,&H5F（タイマー）のみサポート。
　タイマーの正確な間隔が不明なのでおよその間隔になっています。
　上記以外のポートを指定すると 0 が返却されます。

[ JIS$ ]

　KI/KO コードは変換できません。

[ KLEN ]

　機能 4（2 バイト系半角文字の文字数）および機能 5（KI/KO コードの数）はサポートしていません。

[ MID$ ]

　日本語を含む文字列を扱うと、本家とは異なる結果になる場合があります。

[ PEEK ]

　以下のアドレスのみサポートしています。

セグメント：&HA300　アドレス：&HFEE　（ FM 音源ボードの有無）

[ RND ]

　負の値を引数として与えても、乱数系列は初期化されません。
　本家と同じ値が生成されるわけではありません。

[ SEARCH ]

　<配列変数名> は、あらかじめ DIM によって宣言されていなくても構いません。また、数値型であれば、整数型でなくても構いません。

[ SPC ]

　本家では出力文中のみでの使用しか認められていませんが、Ｂe88-ＢＡＳＩＣでは文字式としても使えます。

[ TAB ]

　本家では出力文中のみでの使用しか認められていませんが、Ｂe88-ＢＡＳＩＣでは文字式としても使えます。

[ TIME$ ]

　書式 1（時刻の取得）のみのサポート。書式 2（時刻の設定）は未サポートです。



★★★　命令　★★★

[ CALL ]

　変数名が MOUSE の場合は、マウスドライバの呼び出しとみなします。
　それ以外の場合は未サポートです。

[ CHAIN ]

　ALL オプション、DELETE オプションはサポートしていません。
　行番号としてラベルを使うこともできます。

[ CIRCLE ]

　タイルストリングはサポートしていません。

[ CONSOLE ]

　ファンクションキー表示スイッチは未サポートです。ファンクションキーは常に非表示です。
　カラー／白黒スイッチは未サポートです。常にカラーモードになります。
　DOS-BASIC の第 5 引数を書いてもエラーにはなりませんが、無視されます。

[ DEF FN ]

　同じ名前の関数を複数定義すると、最後に定義した関数が有効になります。

[ DEFINT / DEFSNG / DEFDBL / DEFSTR ]

　本家は動的に（実行順にそって）解釈しますが、Ｂe88-ＢＡＳＩＣは静的に（記述順に）解釈します。
　例えば、リストの 2000 行に DEFINT A-Z と書いてある場合、Ｂe88-ＢＡＳＩＣでは、2000 行以降に書いてある型無し変数は整数型として扱われ、1999 行以前に書いてある型無し変数は単精度実数型として扱われます。

[ DIM ]

　本家では、1 個の配列に対して指定できる要素の数に制限がありますが、Ｂe88-ＢＡＳＩＣでは特に制限はありません。

[ ERASE ]

　Ｂe88-ＢＡＳＩＣは、ERASE で配列変数を消去しなくても、再び DIM で配列変数を宣言することができます。再び配列を宣言した場合、変数の値はクリアされます。

[ FILES ]

　ファイルの大きさは、クラスタ単位ではなく KB 単位で表示されます。
　ファイル名と拡張子の間の区切り記号は常にピリオドです。

[ GET@ ]

　GET@ を実行する前に、DIM で配列変数の大きさを宣言しておく必要はありません。
　変数は、整数型のほかに、実数型も使えます。

[ KINPUT ]

　入力時に IM が起動しません。その代わりに、入力された文字が半角文字であっても全角文字に変換されます。

[ LINE ]

　ラインスタイル、タイルストリングはサポートしていません。

[ LOCATE ]

　カーソルスイッチは未サポートです。

[ MID$ ]

　日本語を含む文字列を扱うと、本家とは異なる結果になる場合があります。

[ OPEN ]

　ファイル以外の機器は扱えません。

[ OPTION BASE ]

　添え字の最小値を 1 度指定した後に、再指定によって最小値を変更することができます。

[ PLAY ]

　一部のコマンド未サポート。MML の間接指定未サポート。
　演奏モードは、楽音モード（#0）で固定です。

	--- サポートしているコマンド ---

		Cx,Dx,Ex,Fx,Gx,Ax,Bx,+,#,-
		Rx,Px
		Lx,Qx,Ox,Sx,Tx,Vx,
		<,>,.,^,{}x,@x,@Vx
		MF,MB
		
	--- 未サポートのコマンド ---
	
		Kx,Mx
		Yr, d , Zp,v
		@Wx,_x,!,*

[ PLAY ALLOC ]

　PLAY ALLOC 命令でサウンドバッファを確保しなくても、PLAY 命令での演奏が可能です。
　本家と同じく、PLAY ALLOC 命令を実行すると、サウンド機能の初期化は行われます。

[ PRINT# ]

　式の区切り子としてコンマを用いた場合、書き込まれる空白の数は常に 1 です。

[ PRINT USING ]

　サポートしている書式制御文字は # のみです。

[ PUT@ ]

　書式 1 では、フォアグラウンドカラー、バックグラウンドカラーは無視されます。
　GET@ を使わずに配列に直接値を代入したものは、PUT@ できません。

[ ROLL ]

　8 の倍数と等しいドット数だけでなく、任意のドット数分スクロールさせることができます。

[ RUN ]

　R オプションは無視されます。

[ SCREEN ]

　画面モードは 0（カラーモード）と 3（高分解能カラーモード）のみサポートしています。白黒系はサポートしていません。

[ WIDTH ]

　書式 1 のみをサポートしています。

