1,041
edits
Changes
→2.1. MSX-DOS 1カーネル
MSX-DOS 1カーネルは、大きく2つの部分に分けられます。
カーネル共通コード部分は、100%ドライバに依存しません。使用するディスクドライバに応じてパッチを適用する必要があるポイントがいくつか含まれています。1つはドライバによって制御されるドライバユニットの数、もう1つはドライバが必要とする作業領域の数です。
図1にMSX-DOS 1カーネルの構造図を示します。
4000h +---------------------+
| |
| |
| Disk driver |
| |
7FFFh +---------------------+
図1 - MSX-DOS 1のカーネル構造
MSXコンピュータでは、最大4つのMSX-DOSカーネルROMをアクティブにできます。複数存在する場合は、スロット番号が最も小さいものが「マスター」(カーネル共通コードが実際に実行されるもの)になり、その他のものが「スレーブ」になります(それらのドライバコードだけが実行されます)。
MSX-DOSは記憶装置をドライブ文字と見なし、ディスクドライバは1つ以上のドライバユニットを提示します。両方のエンティティ間のマッピングは固定されており、1対1です。たとえば、ドライブA:は最初のカーネルのドライバユニット0にマッピングされ、ドライブB:はドライバユニット1にマッピングされます。DOSは記憶装置をドライブレターで見ており、ディスクドライバは1つ以上のドライバユニットを提示します。両方のエンティティ間のマッピングは固定されており、1対1です。たとえば、ドライブA:は最初のカーネルのドライバユニット0にマッピングされ、ドライブB:はドライバユニット1にマッピングされます。