DOSBox Memory, EMS and XMS: In Plain Words
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:
- memsize = nn
- “Amount of high memory (in megabytes) available to programs.”
- “Note: DOSBox always allocates 1 MB of low memory, so the total amount of memory equals 1 MB of low memory, plus whatever is allocated for high memory.”
- “The default value is 16 (memsize=16).”
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:
- “xms=true/false, default “true”, ems=true/false, default “true”, umb=true/false, default “true”, keyboardlayout=auto/none/XY”
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:
- ems=false
- xms=false
- “or combinations of the above settings”
- “use loadfix before starting the game”
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:
- “LOADFIX [-size] [program] [program-parameters]”
- “LOADFIX -f”
- “Program to reduce the amount of available conventional memory. Useful for old programs which don’t expect much memory to be free.”
- For -size: “number of kilobytes to “eat up”, default = 64kb”
- For -f: “frees all previously allocated memory”
The Manual’s examples are:
- “To start mm2.exe and allocate 64kb memory (mm2 will have 64 kb less available): loadfix mm2”
- “To start mm2.exe and allocate 32kb memory: loadfix -32 mm2”
- “To free previous allocated memory: loadfix -f”
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
- [dosbox] memsize = nn — “Amount of high memory (in megabytes) available to programs.” Default value is 16 (memsize=16). DOSBox always allocates 1 MB of low memory on top of that, per the Wiki.
- [dos] xms=true/false — default “true”.
- [dos] ems=true/false — default “true”. The Manual calls what it controls “ems memory emulation.”
- [dos] umb=true/false — default “true”. Needed, together with xms=true, for LOADHIGH, per the Commands page.
- LOADFIX — reduces available conventional memory for old programs that do not expect much memory to be free; default size eaten up is 64kb; -f frees all previously allocated memory.
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