Force MS-DOS to Use Conventional Memory Only

Restricting MS-DOS 6.22 to conventional memory involves configuring system startup files to bypass high memory and extended memory managers. By default, MS-DOS utilizes the first 640 KB of base memory, but it can load parts of itself and other drivers into upper memory regions when prompted. This article explains the exact CONFIG.SYS switch required to force the operating system to remain entirely within conventional memory, along with the proper file adjustments needed to disable all expanded and extended memory.

The DOS=LOW Configuration Switch

The primary configuration command used to force the MS-DOS 6.22 operating system kernel into conventional memory is:

DOS=LOW

By default, or when using DOS=HIGH, MS-DOS attempts to load portions of its core operating code into the High Memory Area (HMA)—the first 64 KB of extended memory above the 1 MB boundary. Setting DOS=LOW explicitly instructs the operating system kernel to remain entirely in the base 640 KB conventional memory space.

To ensure no Upper Memory Blocks (UMBs) are established or utilized, the switch should be written as:

DOS=LOW,NOUMB

This prevents MS-DOS from managing or allocating memory between 640 KB and 1024 KB.

Disabling Memory Managers

Specifying DOS=LOW prevents MS-DOS from moving itself into the HMA, but completely restricting the entire operating environment to conventional memory also requires removing high-memory device drivers from CONFIG.SYS.

  1. Remove HIMEM.SYS: This driver manages extended memory (XMS) and controls access to the HMA. If DEVICE=C:\DOS\HIMEM.SYS is present, comment it out using REM or delete the line entirely. Without HIMEM.SYS, no memory above 1 MB can be addressed.
  2. Remove EMM386.EXE: This driver provides expanded memory (EMS) simulation and manages Upper Memory Blocks. Ensure any line loading EMM386.EXE is removed.

Minimal CONFIG.SYS Example

To boot MS-DOS 6.22 purely into conventional memory, your CONFIG.SYS file should resemble the following:

DOS=LOW,NOUMB
FILES=30
BUFFERS=30

Without HIMEM.SYS and EMM386.EXE, and with DOS=LOW,NOUMB declared, MS-DOS 6.22 cannot allocate High Memory, Upper Memory, Expanded Memory, or Extended Memory.

Temporary Bypass via Clean Boot

If you need to force conventional memory usage temporarily without editing configuration files, press F5 immediately when the text "Starting MS-DOS..." appears during system startup. This executes a clean boot, completely bypassing both CONFIG.SYS and AUTOEXEC.BAT, which leaves the system strictly running on conventional base memory.