DOSBox Memory, EMS and XMS: In Plain Words

Short answer: In DOSBox, memory is emulation that DOSBox itself provides. It is switched by DOSBox’s own settings in its configuration file, not by setting up memory drivers the way an old real DOS PC needed. The main size setting is memsize in the [dosbox] section, and its default value is 16 (memsize=16). The three on/off memory settings are in the [dos] section: xms, ems, and umb — and the DOSBoxWiki lists the default for each one as “true”.

General information only. This page explains, in plain words, only what the official DOSBox documents say about memory: the DOSBox v0.74-3 Manual and the DOSBoxWiki dosbox.conf page. It is not a guide to tuning a real DOS computer.

Read this first, because it is the point of the whole page: inside DOSBox there is no real HIMEM.SYS / EMM386.EXE setup for you to manage the way an old PC needed. The official documents do not describe loading those drivers inside DOSBox at all. Instead, they describe DOSBox providing the memory itself, as emulation, controlled by DOSBox’s own configuration settings. The Manual even calls one setting by that name when it gives the example “To turn ems memory emulation off.” So if a game, or an old piece of advice, talks about EMS or XMS, the DOSBox answer lives in the DOSBox settings below — not in driver files from a real DOS machine.

Where the memory settings live: the configuration file

The DOSBoxWiki says dosbox.conf “is a configuration file that DOSBox can use globally and/or locally per game (and settings that are left out are taken from the global file). It contains various system settings and initialization values that define your emulated environment.”

The Manual, in Section 13, “The configuration (options) file,” says: “The file is divided into several sections. Each section starts with a [section name] line. The settings are the property=value lines where value can be altered to customize DOSBox.” It also says “# and % indicate comment-lines.”

The Manual describes what that file controls in its CONFIG entry: “The configuration file controls various settings of DOSBox: the amount of emulated memory, the emulated sound cards and many more things.”

Plain words: the memory a program sees inside DOSBox is emulated memory — memory DOSBox makes up for the program — and you change it by changing property=value lines in DOSBox’s configuration file, in the sections named below.

memsize: how much memory DOSBox has

This setting is in the [dosbox] section. The DOSBoxWiki prints it exactly like this:

So with the default, a program inside DOSBox gets that 1 MB of low memory plus 16 megabytes of high memory, in the Wiki’s own wording.

The Manual gives one worked example of changing this value. In its FAQ entry for Build games (Duke3D/Blood/Shadow Warrior), after a graphics fix, it says: “Change memsize=16 to memsize=63”. That is the Manual’s example for those games — this page does not turn it into a general rule, because the documents do not state one.

xms, ems, and umb: the three switches in the [dos] section

The DOSBoxWiki’s whole entry for the [dos] section is one short line. Copied exactly, it reads:

That is all the dosbox.conf page says about these three settings: each one can be true or false, and each one defaults to “true”. In other words, all three start switched on unless you change them.

The Wiki does not print any other values for ems on that page — no extra named modes are listed there. If you have seen longer lists of ems values elsewhere, they are not in the official dosbox.conf page this page is based on, so they are not printed here.

What the words XMS and EMS mean here

The official documents use XMS and EMS mainly as the names of those two settings, and the Manual calls what the ems setting controls “ems memory emulation.” The documents this page is based on do not spell out the full technical specifications behind the names, so this page will not invent definitions for them.

Plain-words gloss (our wording, not a quote from the documents): XMS and EMS are two old names for ways DOS programs asked for extra memory beyond the basic memory area. A game’s setup screen that asks about “EMS” or “XMS” is asking whether that kind of memory is available. In DOSBox, “available” is decided by the xms and ems settings above, because DOSBox itself provides the emulation.

Plain-words gloss (our wording, not a quote from the documents): umb goes with the words “upper memory.” You can see that link in the official Commands page, which describes the LOADHIGH command as: “Loads a program into upper memory (requires xms=true,umb=true)”. So LOADHIGH only works, per that page, when both xms and umb are set to true.

When a game asks for EMS or XMS

Because all three [dos] settings default to “true”, a fresh DOSBox setup already presents xms and ems as on. That is the whole answer the documents support for a setup program asking for EMS or XMS: check the [dos] section of your DOSBox configuration file.

The documents also cover the opposite case — a game that misbehaves. In Section 11, “Troubleshooting,” under “Running a certain game closes DOSBox, crashes with some message or hangs,” the Manual says to “change some entries of the DOSBox configuration file, especially try:” and then lists, among other settings:

The Manual also shows how to change the ems setting while DOSBox is already running, using its built-in CONFIG program. CONFIG, the Manual says, “can be used to change or query various settings of DOSBox during runtime,” and its third example is: “To turn ems memory emulation off: config -set “dos ems=off””.

LOADFIX: when a program wants less free memory, not more

Some old programs break not because memory is missing, but because too much of it is free. For that case, the Manual documents an internal DOSBox program called LOADFIX. Its entry, in Section 4, “Internal Programs,” reads:

The Manual’s examples are:

The DOSBoxWiki Commands page describes the same command in one line: “Loads a program above the first 64K of memory.”

Note the word the Manual itself uses here: conventional memory. On this page, that phrase appears only because the Manual uses it for LOADFIX. This page does not add real-DOS conventional-memory tuning steps, because the DOSBox documents do not present any — inside DOSBox, the tool the documents give you for this problem is LOADFIX.

MEM: asking DOSBox what memory it sees

The Manual lists one more internal program in Section 4: “MEM — Program to display the amount and type of free memory.” The DOSBoxWiki Commands page says the same thing in shorter words: “A program to display the amount of free memory.”

Plain words: if you want to see the memory picture from inside DOSBox, the documents point you to the MEM program inside DOSBox itself.

The settings on one screen

What this page leaves out, on purpose. Old real-DOS memory advice — editing CONFIG.SYS and AUTOEXEC.BAT, loading HIMEM.SYS or EMM386.EXE, and tuning a real machine for free conventional memory — is not DOSBox procedure in the official DOSBox documents, so none of it is presented here as steps to follow. Inside DOSBox, the documents give you the configuration settings above, plus CONFIG, LOADFIX, LOADHIGH, and MEM.

Sources

DOSBox v0.74-3 Manual (dosbox.com). https://www.dosbox.com/DOSBoxManual.html

DOSBoxWiki — “Dosbox.conf” ([dosbox] and [dos] sections). https://www.dosbox.com/wiki/Dosbox.conf

DOSBoxWiki — “Configuration:DOSBox” ([dosbox] section, including memsize). https://www.dosbox.com/wiki/Configuration:DOSBox

DOSBoxWiki — “Commands” (LOADFIX, LOADHIGH, MEM). https://www.dosbox.com/wiki/Commands

Checked November 2, 2026