NEXTOR PR 02 08 01

From Z80 Machines Wiki
Jump to: navigation, search

2.8.1 MSX-DOS 1モードでNextorを検出する

DOSVER機能はMSX-DOS1モードで利用できるようになったので、このモードでNextorを検出できます。

MSX-DOS1モードで呼び出されたときのDOSVER機能の結果は、BC = 0100hであり、意味のある値がHLに返されないことを除いて、通常モードで返されるものと同じです。ただし、この関数はde 0F37Dhフックのみを介して呼び出すことができるため("3.新しい関数呼び出し"を参照)、インデックスレジスタが破損します。したがって、 "IX = 0をチェックする"方法はNextorの検出には使用できません。その代わりに、MSX-DOS 1モードで実行されると、DOSVERはA = 1を返します。


したがって、アプリケーションがMSX-DOS1モードで動作しても、Nextorまたは古いMSX-DOS1カーネルのどちらで実行しているかを知りたい場合は、検出手順は次のとおりです。

  1. 通常モード検出の場合と同様にマジックナンバーを設定します。
  2. F37Dhエントリポイントを介してDOSVER機能を呼び出します。 0005hエントリポイントを使用しないでください。
  3. A = 1、B = 1、IXh = 1の場合は、NextorをMSX-DOS1モードで実行しています。 Nextorのバージョン番号については、レジスタIXh、IYh、およびIYlを調べてください。
  4. それ以外の場合は、前のセクションで説明したように、通常モードの手順に従います。