NEXTOR DDG 03

From Z80 Machines Wiki
Jump to: navigation, search

3.組み込みドライバを使ったNextorカーネルの作成

MSXコンピュータで使用できる完全なNextorカーネルROMを作成するには、最大4つのコンポーネントが必要です。

  • Nextorカーネルベースファイル。このファイルには、カーネル共通コード、つまり、図3に示す「Banks 0-(K-1)」の部分が含まれています。そのバンク切り替えコードは、ASCII16マッパー(MSX-DOS 2カーネルで使用される元のマッパー)用です。 。
  • デバイスドライバファイル。セクション4に詳述されているルールと構造に従って作成する必要があります。そのサイズは正確に16080バイト(16Kからページ0のコードのサイズ - バンクの切り替えコードのサイズ - )のサイズでなければなりません。ドライバーが複数のバンクにまたがって出現した場合、これは各バンクに適用されます。 バンク切り替えコードファイル(ターゲットハードウェアで使用されるマッパーがASCII16以外の場合のみ)。このコードは、カーネル全体が書き込まれるROMカートリッジでサポートされているマッピングタイプによって異なります。
  • コンパイルされたバンク切り替えコードファイルは、ASCII 8およびASCII 16マッパー用に提供されています。他の種類のマッパーの場合は、"3.3.バンク切り替えコードのルール"に詳述されているルールに従って、カスタムコードファイルを作成する必要があります。

注:16Kバンクではなく8Kバンクで動作するROMマッパーは、LDでメモリマップされたポートに、命令LD(xxxx),A でシングルバイトを書き込むことによってページ1の前半(4000h〜5FFFh)に表示されるバンクを選択できる場合にのみサポートされます。 たとえばASCII 8の場合です。

  • オプションで、バンク0とバンク3の1Kの未使用スペースに配置されるコード(詳細については、4.7.1。カーネルメインバンクの空きスペースを参照)。

完全なNextorカーネルROMファイルを作成する手順は、基本的にドライバコードをカーネルベースファイルに追加してから、結果として得られるファイルに適切なバンク切り替えコードをパッチすることです。これは手動で、またはMKNEXROMユーティリティを使用して実行できます。両方のオプションについて以下で説明します。