MSX Datapack wiki化計画

10章 Disk BASIC version 2.0

※
※ このページは書きかけです。以下の可能性があります。
※ ・誤字、脱字等のチェックをおこなっていません。
※ ・テキスト、表などフォーマットがされていない。
※ ・画像が抜けている。
※

 システム立ち上げ時にシステムディスク(MSXDOS2.SYSおよびCOMMAND2.COMを含む)が存在しなかったり、MSX-DOSのBASICコマンドを実行した場合、Disk BASIC version 2.0が立ち上がります。

 Disk BASIC version 2.0は従来のDisk BASIC version 1.0を拡張したもので、MSX-DOS2に対応するため、RAMディスクと階層ディレクトリの操作命令、日本語処理のための命令が追加、あるいは拡張されています。日本語処理関係の命令に関しては11章を参照して下さい。
 

 10.1 この章の表記法

 この章では、以下の表記法を用います。

ステートメント名
機能

 命令の内容を簡単に説明しています。

書式
 命令の書き方を示します。<>で囲まれた項目は、必要とする数値や文字のデータを示します。[]で囲まれた項目は、省略可能であることを示します。
文例
 実際に命令を使った例を挙げています。
解説
 その命令についての詳しい説明と、使用するときの注意点などを述べています。

 10.2 ステートメントの説明

 以下ではDisk BASIC 2.0で追加・変更された命令について説明します。

CALL CHDIR
機能

 カレントディレクトリを変更します。

書式
 CALL CHDIR("[d:]<パス>")

文例
CALL CHDIR("DIR1")
解説

 機能はMSX-DOSのCHDIRと同じです。P.79の「CHDIR」を参照して下さい。

CALL CHDRV
機能

 デフォルトドライブを切り替えます。

書式
 CALL CHDRV("d:")

文例
CALL CHDRV("H:")
解説

 機能はMSX-DOSのプロンプトでドライブ名を入力したときと同じです。

CALL MKDIR
機能

 サブディレクトリを作成します。

書式
 CALL MKDIR("[d:]<パス>")

文例
CALL CHDIR("DIR2")
解説

 機能はMSX-DOSのMKDIRと同じです。P115の「MKDIR」を参照して下さい。

CALL RMDIR
機能

 ひとつあるいは複数のサブディレクトリを削除します。

書式
 CALL RMDIR("[d:]<パス>")

文例
CALL RMDIR("DIR2")
解説

 機能はMSX-DOSのRMDIRと同じです。P133の「RMDIR」を参照して下さい。

CALL RAMDISK
機能

 RAMディスクの大きさを設定、あるいは変数に代入します。

書式
 CALL RAMDISK([数値],[変数名])
 ただし、数値と変数名の両方を省略することは出来ません。どちらかを指定して下さい。

文例
CALL RAMDISK(32)
CALL RAMDISK(1000, A)
解説

 変数名を指定すると、RAMDISKの容量がこの変数に代入されます。
 機能はMSX-DOSのRAMDISKと同じです。P.125の「RAMDISK」を参照して下さい。

CALL SYSTEM
機能

 MSX-DOSに制御を戻します。

書式
 CALL SYSTEM[("<DOSのコマンド名>")]

文例
CALL SYSTEM("WORK")
解説

 MSX-DOSに制御を戻します。このときコマンドを渡して、DOSに戻ってからの処理を指定することが出来ます。CALL SYSTEMの時はブートドライブのルートディレクトリにあるREBOOT.BATを(もしあれば)実行します。

FILES
機能

 ディスク上のファイル名、ディレクトリ名を表示します。

書式
 FILES["ファイル名"][,L]

文例
FILES"W*.*"
解説

 機能はMSX-DOSのDIRと同じです。P.96の「DIR」を参照して下さい。FILES ,Lはファイルをロングフォーマットで表示します。

 10.3 Disk BASIC version 2.0の追加エラーメッセージ

 Disk BASIC 2.0で追加されたエラーメッセージには次のようなものがあります。

表2.8 Disk BASIC version 2.0の追加エラーメッセージ

メッセージエラーコード説明
File write protected 72ファイルは読み出し専用である。
Directory already exists 73ディレクトリがすでにある。
Directory not found 74指定されたディレクトリがない。
RAM disk already exists 75CALL RAMDISKでRAMディスクを作ろうとしたが、RAMディスクがすでにある。