Start a Conversation


This post is more than 5 years old


November 7th, 2016 21:00

finding EMS drivers for old Dell System 210, MM.SYS

Trying to restore an old Dell System 210 286 machine and I am having a real tough time finding the EMS or expanded memory driver for this machine.  Looking on the old support pages there is a reference detail to the Expanded memory driver and the switches.  They say the driver is MM.SYS  Does anyone that works for dell or has access to some archived files might have this driver file.  I know its 25 years later, but it would be an awesome testament to get this 286 working again 100 percent like it did.  This is about the last step to having the system back up and running like it would be back in 1991.  

Thanks so much for any help someone can provide.

9 Legend


47K Posts

November 8th, 2016 10:00

The XMS driver is MSDOS / WIN9X  Himem.sys    HOWEVER 286 machines dont have a lot of extra ram in DOS /Windows 3.0 mode.   EMM386.SYS does NOT and WILL NOT EVER work on a 286 machine.  Lotus INTEL Above board is the only other method of adding more ram.


What you are asking for has never existed on a 286 machine.

HIMEM.SYS version 2.00 from July 1988 MSDOS was quite straightforward and used BIOS INT 15h, function 87h to move data to and from extended memory above the 1MB line. However, that function isn’t particularly efficient. On 286 systems, it must reset the CPU, which isn’t fast and in most cases is useless.

In August 1988, HIMEM.SYS version 2.03 implemented a new method of copying memory on 386 compatible processors, using unreal mode (or Big Real mode as it’s called in the HIMEM source) when the processor isn’t already in protected (or more specifically, V86) mode.


Device=C:\DOS\HIMEM.SYS must be the first line in the config.sys file.





3 Posts

November 8th, 2016 18:00

I agree in general the 286 was indeed a "brain dead chip" in regards to memory management, but it looks like the 210 board had support in it's chipset to support LIM 4.0 EMS memory from the main RAM.  The BIOS does allow me to allocate memory to Expanded from the total.  When I move it to expanded it indeed disappears from the main memory count (6MB total, 2MB set for EMS, system now only shows 4MB total /w XMS RAM).  So it looks like the system will emulate an aboveboard type of expansion from the main ram that is set in BIOS.  The key is this  MM.SYS file to access it.  Here is a link from dells site.

3 Posts

November 10th, 2016 19:00

I got some help from on this and they found the driver.  Just to wrap up this post, here is the link from the waybackmachine site for the MM.ZIP file that does indeed setup EMS memory that is set in the BIOS.

9 Legend


47K Posts

November 14th, 2016 11:00

Interesting that they saved the driver.  

Dell System(R) 210                                        

LIM EMS 4.0 Installation                               


This file provides instructions for installing and running the LIM

4.0 expanded memory manager on your Dell System 210.


The amount of base memory in the Dell System(R) 210 (512 or 640

kilobytes [KB]) is sometimes not sufficient for application programs

that use large amounts of memory. MS-DOS(R) applications that use

expanded memory can handle programs and data that may exceed 640 KB

(the maximum that MS-DOS can normally access). Your System 210 can

support as much as 5376 KB of expanded memory on the system board.


The expanded memory manager (EMM) driver you received on the Software

Support Diskette with your System 210 adheres to the LIM

(Lotus/Intel(R)/Microsoft(R)) expanded memory specification (EMS)

version 4.0. LIM EMS version 4.0 is an industry s tandard

specification defining how expanded memory functions in a personal

computer. If you add memory so that your computer has 1 megabyte (MB)

or more of random access memory (RAM), you can use LIM EMS version

4.0. When enabled, LIM EMS version 4.0 allows applications software to

use expanded memory (if the software was written for use with LIM EMS

version 4.0).


     NOTE: If the FAST BIOS category in the System Setup program

     is ON, 128 KB of reserved memory is used for that

     function. You can still use the remainder of reserved

     memory (256 KB) as expanded memory, as well as any memory

     above the first megabyte. Dell recommends leaving F AST

     BIOS set to ON because the performance enhancement gained

     by BIOS shadowing is usually greater than the advantage of

     another 128 KB of expanded memory.


Expanded memory cannot be used with MS(R) OS/2 software. MS OS/2

supports only extended memory. This operating system does not have any

memory limitations it can use all the physical memory in your computer

and does not need to use expanded memory to support its application



Installing the Device Driver



Copy the device driver file (MM.SYS) contained on the Software

Support Diskette to the root directory of your hard disk



Updating the CONFIG.SYS File



Add the following command, or device statement, to the CONFIG.SYS file

so that the EMM device driver is loaded each time your System 210 boots








Put the device statement before all other device driver commands in

CONFIG.SYS. You can use the DOS line editor EDLIN, or a word processor

program of your choice, to modify the CONFIG.SYS file. If you use a

word processor program, be sure to save the file in the unformatted

(ASCII) form.


To initialize LIM EMS version 4.0, reboot your computer after you load

the device=mm.sys statement into the CONFIG.SYS file.


Updating System Configuration Information



After you have copied the device driver file to your root directory and

updated your CONFIG.SYS file, enter the System Setup program. (See

Chapter 4 of your Dell System 210 Installation and Troubleshooting

Guide for information about how to enter and use the System Setup

program.) Update the EMS MEMORY category on the System Setup screen to

reflect the amount of expanded memory you want to use.


Setting Switches (Advanced Use Only)



For most uses, the device statement shown previously is sufficient. If

you included no switches in the basic command line, the EMM device

driver loads the default hardware value of the input/output (I/O)

address. If you have special advanced needs, you can add the following

switches to the device statement:




These switches are explained below. The type in parentheses indicates

which function of the EMM is affected by that switch.


/A=nnn (Base I/O Port Address)


Sets the base I/O EMS port address. The range of nnn is 100h to 3FFh,

and the default is 218h.


/B (Backfill)


Allows base memory to be used as expanded memory. /B lets LIM EMS

version 4.0 redefine as expanded memory the memory located from the

128th to the 640th KB of base memory (a total of 512 KB). The default

is no backfilling.


/C=nnn   (Contexts Available)


Allows LIM EMS version 4.0 to be compatible with earlier versions of

LIM by setting the number of contexts to be saved. A context is the

current state of the mapping hardware (the registers). Some software,





such as interrupt service routines, device drivers, and resident

software, must save and restore the contexts. Earlier versions of LIM

4.0 limited the number of contexts that could be saved. The range of

nnn is 3 to 255; its default value is 255.


/D=nn (Contexts Depth)


Allows LIM 4.0 to conform to earlier versions by setting the size or

depth of contexts to be saved. Earlier versions limited the size of

contexts that could be saved. The range of nn is 1 to 32; the default

is 1.


/F (Display Parameters)


Displays all memory manager parameters when LIM 4.0 is started. An

example parameter list is shown here.


EMS Window Address: D000

Contexts Available: 255

Context Depth: 1

Handles Available: 255

Memory Available: 128 K  

Testing Memory: 128 K


/H=nnn (Handles Available)


Sets the maximum number of handles that one application program can

use. The range of nnn is 3 to 255; the default is 255.


/S=nnnn (EMS Window Address)


Allows you to designate a specific address for the page frame. The

range of nnnn is C4000h to DFFFFh; the default is D0000h to DFFFFh.


/X=llll-uuuu (Address Range)


Allows you to exclude an address range from the window. llll and uuuu

represent (in hexadecimal) the lower and upper bounds of the excluded



/Z (Memory Testing)


Prevents the EMS driver from testing the computer's memory when the

computer boots. The memory is set to zero whenever you boot your



NOTE: Do not select switches that contradict each other. For instance,

do not set the window to a certain address using the /S switch while at

the same time excluding that address from expanded memory using the /X

switch. Otherwise, the EMM may generate an error message.





EMM Messages



When the device driver is first executed, a title and copyright notice

like this one appear on the screen:


Expanded Memory Manager Version X.XX

Copyright 1989 Western Digital Corporation. All Rights Reserved.

Copyright 1988, 1989 Quadtel Corporation. All Rights Reserved.


If you did not allocate memory for EMS through the EMS MEMORY category

in the System Setup program, the following message appears:

No expanded memory available.


Otherwise, the EMM will count the amount of expanded memory and display

the following message:


Testing Memory: xxxxK


If You Have Trouble



If you have problems running the EMM, call Dell for assistance. See

Appendix D, ``Getting Help,'' in your Dell System 210 Installation and

Troubleshooting Guide for information on how to contact Dell.














Trademarks used in this document: Dell System and the DELL logo are

registered trademarks of Dell Computer Corporation; MS , MS-DOS, and

Microsoft are registered trademarks of Microsoft Corporation; Intel is

a registered trademark of Intel Corporation.


Other trademarks and trade names are used in this document to refer to

the entities claiming the marks and names or their products. Dell

Computer Corporation disclaims any proprietary interest in trademarks

and trade names other than its own.





No Events found!