必要な拡張メモリの種類とその設定方法 [PC98]

MS-DOS世代のパソコンのメモリの拡張方法・設定方法は実に複雑です。それは、ハードウェア・ソフトウェアが著しく進化している中で、MS-DOSという同じシステムが10年以上もの長い間使われてきたからです。OSやアプリケーションによって使用するメモリの種類が異なり、また機種によって増設・使用可能なメモリの種類が制限されます。今から振り返ってこの全てを把握・理解するのはなかなか大変です。

ここでは、まずOSやアプリケーションごとに必要なメモリの種類を挙げて、後にメモリの種類ごとに増設・設定方法を紹介します。

目的・機種別 増設メモリ選択チャート

本体搭載メモリと電源オン時に表示されるメモリカウントの数字が一致しない場合は、メモリボードの装着方法・スイッチの設定、本体ディップスイッチやメモリスイッチの設定が間違っていないか確認します。ただし、EMSボード上のメモリは電源オン時のメモリカウントには含まれません。メモリアドレスとシステム予約域が重なる部分についてもメモリカウントに含まれません。

OSごとに必要なメモリの種類

Windows 95以降を使用する場合

Windows 95以降ではプロテクトメモリと仮想メモリが使われます。仮想メモリはハードディスクの一部をメモリとして使用する機能で、仮想メモリの容量はWindows上で変更できます。Windows標準でメモリが認識・使用されるため、ユーザーが設定することは何もありません。

Windows 3.0, 3.1を使用する場合

Windows 3.0/3,1ではWindowsの動作モードによって必要なメモリの種類が異なります。Windowsの動作モードは386エンハンスドモード、スタンダードモード、リアルモード、の3種類があり、通常はハードウェアによって動作モードが自動で選択されます。Windowsの動作モードはWindows上ではバージョン情報から知ることができます。

386エンハンスドモードの場合

このモードでは、アプリケーションが使用可能なメモリ容量=Windowsが認識しているメモリ容量、となります。

このモードのWindowsではプロテクトメモリと仮想メモリが使われます。プロテクトメモリを使用するにはMS-DOSにXMSドライバを組み込んでおく必要があります。Windows 95と同じく、仮想メモリの設定はWindows上で変更できます。プロテクトメモリの認識容量はMS-DOSのXMSドライバによります。このモードでWindowsを起動するには3MB以上のプロテクトメモリが必要で、仮想メモリさえあればいいというものではありません。

Image: Windows 3.1 スワップファイルの設定

スタンダードモードの場合

仮想メモリが使えないこと以外は386エンハンスドモードと同じです。XMSドライバが必要です。このモードでWindowsを起動するには1MB以上のプロテクトメモリが必要です。

リアルモードの場合

後述のWindows 2.xの項と同じです。

Windows 2.xを使用する場合

リアルモードのWindowsでは主にコンベンショナルメモリとEMSメモリが使われます。それぞれ必要なメモリ容量はアプリケーションによって異なります。EMSメモリを使用するにはMS-DOSにドライバを組み込む必要があります。

MS-DOSを使用する場合

MS-DOSではコンベンショナルメモリのみがプログラム実行可能メモリとして使えます。ただ、アプリケーションによってはXMSメモリやEMSメモリといった拡張メモリをデータ一時保存用など補助的に使用する場合があります。また、コンベンショナルメモリを少しでも空けるために、HMAメモリやUMBメモリという拡張手法が存在します。これら拡張メモリを使用するにはMS-DOSにドライバを組み込む必要があります。

MS-DOSにドライバを組み込むにはCONFIG.SYSにドライバファイルへのパスを記述する必要があります。PC98版MS-DOSの場合はCUSTOMコマンドからも設定できます。詳細は PC98固有のDOSコマンドについて や CONFIG.SYSのコマンドと特殊な環境変数 [DOS] を参照して下さい。

Image: PC98 MS-DOS CUSTOM Command

メモリの種類別の増設・設定方法(ハードウェア編)

Image: PC98 Extended memory

プロテクトメモリ(エクステンドメモリ/拡張メモリー)

プロテクトメモリとはIntel 80286以上のCPUのプロテクトモードで自由に使えるメモリのことです。MS-DOSではエクステンドメモリ、PC DOSでは拡張メモリーと呼んでいます。主にOS/2やWindows 3.0以降のメモリ、MS-DOSやWindows 2.xの拡張メモリとして使われます。PC98の場合、電源を入れたときに画面に「xxx KB + yyyy KB OK」というメッセージが表示されますが、このyyyy KBの部分がプロテクトメモリの容量です。

プロテクトモードではCPUが80286の場合は16MB、i386以上の場合は4GBのメモリ空間が使えますが、実際は機種ごとに上限値があります。搭載可能な最大メモリ容量は各機種の仕様表を確認して下さい。CPUが8086またはV30のみを搭載する機種ではプロテクトメモリは使用できません。

PC-9801VXあたりの機種では汎用拡張スロットに増設RAMボードを装着することでプロテクトメモリを増設します。PC-9801RA/DA/FAあたりの機種では先に挙げた方法の他、専用メモリスロットへメモリボードを増設できます。PC-9821シリーズ中期以降の機種では現在主流のPCと同じように、マザーボード上のメモリスロットにメモリモジュールを装着します。PC-98XA以外ではプロテクトメモリはシステム起動時に自動で検出されるため、設定は不要です。

増設可能なメモリについてはNEC純正増設メモリ PC-98対応表 [PC98]を参照して下さい。

コンベンショナルメモリ(基本メモリー)

コンベンショナルメモリとはIntel x86 CPUのリアルモードで自由に使えるメモリのことです。PC DOSでは基本メモリーと呼んでいます。主にMS-DOSやWindows 2.xの基本メモリ、OS/2やWindows 3.0以降ではプロテクトメモリと合わせてメモリの一部として使われます。PC98の場合、電源を入れたときに画面に「xxx KB + yyyy KB OK」というメッセージが表示されますが、このxxx KBの部分がコンベンショナルメモリの容量です。

リアルモードでは1MBのメモリ空間が使えますが、一部のメモリ空間はシステムが使用するため、ソフトウェアが自由に使えるメモリ空間はさらに限定されます。PC98のノーマルモードではコンベンショナルメモリは最大640KBとなっています。(PC98のハイレゾリューションモードでは768KB。)

PC-9801UV2までの機種は拡張スロットに増設RAMボードを装着することでコンベンショナルメモリを最大640KBまで増設可能です。メモリを増設した後はメモリスイッチの設定を変更する必要があります。詳細は PC-9800シリーズ メモリスイッチ設定 を参照して下さい。

増設可能なメモリについてはNEC純正増設メモリ PC-98対応表 [PC98]を参照して下さい。

メモリボード

メモリボードにはIO DATA方式バンクRAMボード、EMSボード、プロテクトメモリボードがあります。プロテクトメモリボードはそのままプロテクトメモリとして使用できますが、バンクRAMボードやEMSボードを使用するにはそれに対応したメモリ管理ドライバが必要です。ボード上のスイッチでメモリの種類を切り替えられる製品も存在します。

メルコ"BM-1000"バンクRAMと"EMJ-4000L"EMSボード
BUFFALO EMJ-4000L

増設可能なメモリについてはNEC純正増設メモリ PC-98対応表 [PC98]を参照して下さい。

メモリの種類別の増設・設定方法(MS-DOS編)

MS-DOS特有のメモリ拡張手段であるXMSメモリ、EMSメモリ、HMAメモリ、UMBメモリを使うための設定方法を紹介します。

メモリの種類別の増設・設定方法(MS-DOS編)[PC98]を参照。