NEXTOR DDG 04 05 04

From Z80 Machines Wiki
Jump to: navigation, search

4.5.4.DRV_CHOICE(4169h)

ディスクのフォーマット選択文字列を返します。

入力: -
出力:HL =カーネルスロット内の選択文字列のアドレス

このルーチンは、フォーマットオプションをユーザーに示すために、FORMATコマンドの実行時にカーネルコードによって呼び出されます(MSX-DOS 2およびNextorでは、CHOICE関数呼び出しによっても呼び出されます)。 HLに返される値は、ユーザーに表示されるフォーマット選択オプションを持つゼロで終わる文字列のアドレスです。この文字列はカーネルスロット内に存在しなければならず、RDSLTルーチンまたは同等の方法で読み取り可能でなければなりません。カーネルの基本コードに修正を加えることなくサポートされるケースが3つあります。

  1. ディスクが1種類のフォーマットのみをサポートしている(つまり、実際には選択肢がない)場合は、HL = 0を返す必要があります。
  2. ディスクがフォーマットをサポートしていない場合(最も一般的なケース)、HL = 781Fhを返さなければなりません。これは、カーネルバンク0および3で使用可能なNULL文字列のアドレスです。
  3. デバイスが片面ディスクと両面ディスクを処理する従来のMSXフロッピーディスクドライブの場合は、HL = 7820hを返す必要があります。これは、カーネルバンク0および3で使用可能な「片面/両面」文字列のアドレスです。

他の文字列が返される場合は、カーネルページ0と3で利用可能な1Kの空き領域に格納する必要があります(詳細は"4.7.1.カーネルメインバンクの空き領域"を参照してください)。