MSX Datapack wiki化計画

バージョンアップにともなう変更点の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
,{t},{BSIZE:1 0|SIZE:100%}
,{BSIZE:0}←[[2章 コマンド行の編集]]                                                           ,{BSIZE:0|RIGHT}[[4章 MSX-DOS2への移植の注意]]                                                    →

 MSX-DOS2は何度か拡張、改良され現在次のようなバージョンがあります。

表2.3 MSX-DOS2のバージョン
,{t},{BSIZE:1 0}
,{c},{BSIZE:1 0|SIZE:150},{BSIZE:1 0|SIZE:60},{BSIZE:1 0}
,バージョン番号,,内容
,{c},{BSIZE:0},{BSIZE:0},{BSIZE:0}
,MSX-DOS version, 2.20,日本語MSX-DOS2(アスキー販売)
,               , 2.30,MSX turbo R FS-A1ST (Panasonic製)内蔵
,               , 2.31,MSX turbo R FS-A1GT (Panasonic製)内蔵

 VERコマンドにより、現在お使いのMSX-DOS2のバージョンを確認することができます。
 また、「カーネル」、「MSXDOS2.SYS」、「COMMAND2.COM」のバージョンはそれぞれ異なっていても使用できます。
 この章では、バージョンアップにより拡張した機能について説明します。

!!3.1 version 2.30の新機能

!3.1.1 カーネルの変更

* MSX turbo R専用です。MSX2+以前の機種では動作しません。
* プライマリマッパは必ず内蔵RAMから選びます。またRAMターボモードで使用するRAMセグメントの最後の4ページはシステムセグメントとしてリザーブします。
* 新たにファイルをオープンするときに、既にオープン済みのファイルについては、ボリュームIDもチェックします。途中でディスクが交換されたら、同ドライブ、同ディレクトリエントリ、同名のファイルでも別ファイルとして認識します。ただし、これはMSX-DOS2フォーマットのディスクに限ります。

!3.1.2 COMMAND2.COMの変更

* バッチ終了時に「SET ECHO OFF」を行わないようにしました。これまではバッチ終了時に「SET ECHO OFF」を行っていました。
* 1画面ごとの出力停止(/P)は、これまで論理行をカウントしていましたが、表示行をカウントするようにしました。表示行がラップしたときも行数にカウントします。
* PAUSEコマンドのプロンプトが短くなりました。SCREEN 1のデフォルト幅(WIDTH 29)で1行におさめるためです。

旧
 Press any key to continue...

新
 Press any key to continue

* 環境変数KHELPを追加しました。HELPコマンド実行時に、画面モードに応じてANKモードならばHELPで指定されるディレクトリを、漢字モードならばKHELPで指定されるディレクトリを自動的に選択します。それぞれデフォルトはMSX-DOS2が起動されたドライブのルートディレクトリ中のHELP、KHELPというディレクトリになっています。
* 環境変数EXPERTを追加しました。EXPERTはMSX-DOS1でフォーマットされたディスク上のプログラムを実行させるかさせないかを制御します。これはMSX-DOSのバージョンの違いからくる問題を未然に防ぐために追加しました。「ON」以外の値はすべて「OFF」として解釈します。EXPERTが存在しない(デフォルト)か「OFF」の場合はMSX-DOS1でフォーマットされたディスクからのプログラムの実行は禁止されます。この場合、次のようなプロンプトが出力されます。
 *** Wrong version of MSX-DOS

 *** MSX-DOSのバージョンが違います

EXPERTが「ON」の場合は、MSX-DOS1でフォーマットされたディスクからのプログラムの実行が可能になります。

!3.1.3 外部コマンドの変更

*CHKDSKコマンド
 メディアタイプがMSX-DOS2フォーマットでない場合その旨を表示します。
*DISKCOPYコマンドに /S スイッチを追加しました。
 /Sが指定されると、ブートコードもコピーします。

!3.1.4 その他の変更

* Z80およびr800モードの判別(カーネルの変更)
* Z80およびR800モードの判別(カーネルの変更)
 ブートシーケンスには以下の項目を追加してモードの設定をしています。

 a. シフト立ち上げのとき、[1]キーが押されていなければR800モード
 b. [1]キーが押されていればZ80+MSX-DOS1
 c. H.STKEがセットされていたとき
  USRTABがFCERRを指しているならば、Disk-BASIC1
  USRTABがFCERRを指していないならば、Disk-BASIC2
 d. ブートメディアがMSX-DOS1の時は、MSX-DOS1

なおディスクドライバはZ80モードで呼びます。これは、タイミングに依存するディスクドライバとの互換性のためです。

!!3.2 version 2.31の新機能

!3.2.1 カーネルの変更

* ファイル名は、漢字モード、ANKモードにかかわらず、シフトJISとして解析します。これまでは漢字モードのときのみシフトJISとして解析していました。「パス名の解析」(05BH、_PARSE)、「ファイル名の解析」(05CH、_PFILE)、「文字の検査」(05DH、_CHKCHR)のファンクションは、言語設定に関わらずシフトJIS固定になりました。

!3.2.2 COMMAND2.COMの変更

* 環境変数名の前後に%をつけることで、コマンド行に環境変数を取り込めるようにしました。

 A>ECHO %PATH%
 ; A:\UTILS

 環境変数PATHの内容を表示します。

*コマンドIFを追加しました。

,{t},{BSIZE:1 0|SIZE:100%}
,{BSIZE:0}←[[2章 コマンド行の編集]]                                                           ,{BSIZE:0|RIGHT}[[4章 MSX-DOS2への移植の注意]]                                                    →