Running 16-bit programs in separate memory space
NT has three memory spaces. DOS programs are run in the DOS memory space. 32-bit
windows programs are run in the win32 memory space. Old win3.x 16-bit programs
are run in a memory space for win3.x programs. These spaces do not overlap.
Anything running in one can not interfere or lock up the programs running in the
other memory spaces. It mostly works very very well.
Win3.x programs use cooperative multitasking. This meant that one of these
programs would run as long as it wanted and then it would let another program
have the CPU ever-so-often. When these programs were well-behaved, all was OK.
Unfortunately, one bad apple would upset the entire apple cart and your PC is
LOCKED. NT will not let these old dogs lock your PC, but they can still
interfere with each other (god forbid you are still running multiple of these
old dogs). Set the program's properties to run in a separate memory space. When
you click this option, NT will load each of these old dogs in its own space so
they will not interfere with each other should they crash. Also this prevents
one of them from hogging all the CPU allocated to the 16-bit applications.
To make this the default, cut and paste the following script into vdm.reg and run it.
LINE GOES HERE
BLANK LINE GOES HERE
See .REG files for background information on
There is a command line option to start 16-bit applications in separate
At the command prompt simply type: start /separate
You can also launch the program in a separate memory space at the Run command
by entering the name of the application and enabling the Run In Separate Memory
Space check box. If that check box is grayed out, it's not a 16-bit app.